Nginx をインストールする前に、システムに gcc、openssl-devel、pcre-devel、および zlib-devel ソフトウェア ライブラリがインストールされていることを確認してください。
以下は Nginx のインストールプロセスです:
wget http://nginx.org/download/nginx-1.0.14.tar.gz tar zxvf nginx-1.0.14.tar.gz ./configure --with-http_stub_status_module --prefix=/opt/nginx cd nginx-1.0.14 make make install
このうち、–with-http_stub_status_module を使用すると、Nginx の NginxStatus 関数を有効にして、Nginx の実行状態を監視できます。
モジュールについて詳しく知りたい場合は、./configure –help オプションを使用して確認できます。
2. Nginx 設定ファイルの構造
Nginx の設定ファイル nginx.conf は、インストール ディレクトリの conf ディレクトリにあります。
nginx.conf は複数のブロックで構成され、メインにはイベントと HTTP が含まれ、サーバーには複数の場所が含まれます:
メイン (グローバル設定)、サーバー (ホスト設定)。 (負荷分散サーバーの設定) と場所 (特定の場所の設定に一致する URL)。
コードのグローバル設定は次のとおりです:
user nobody nobody; worker_processes 2; error_log logs/error.log notice; pid logs/nginx.pid; worker_rlimit_nofile 65535; events{ use epoll; worker_connections 65536; } ログイン後にコピー |
worker_connections もイベント モジュール ディレクティブであり、各 Nginx プロセスの最大接続数を定義するために使用されます。デフォルトは 1024 です。クライアント接続の最大数は、worker_processes と worker_connections によって決まります (Max_client=worker_processes*worker_connections)。
リバース プロキシとして動作する場合、max_clients は次のようになります: max_clients = work_processes * worker_connections/4。 プロセスの最大接続数は、Linux システム プロセスの開いているファイルの最大数によって制限されます。worker_connections の設定は、オペレーティング システム コマンド「ulimit -n 65536」を実行した後にのみ有効になります
2.2 HTTP サーバー。構成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
次のコードは、ログ形式の設定を実装します:
1 2 3 4 5 6 7 8
log_format是Nginx的HttpLog模块指令,用于指定Nginx日志的输出格式。main为此日志输出格式的名称,可以在下面的access_log指令中引用。
2.3 HttpGzip模块配置 [root@vps ~]# /opt/nginx/sbin/nginx -V nginx version: nginx/1.0.14 built by gcc 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) configure arguments: --with-http_stub_status_module --with-http_gzip_static_module --prefix=/opt/nginx ログイン後にコピー 通过/opt/nginx/sbin/nginx -V命令可以查看安装Nginx时的编译选项,由输出可知,我们已经安装了HttpGzip模块。 下面是HttpGzip模块在Nginx配置中的相关属性设置:
2.4 负载均衡配置
upstream是Nginx的HTTP Upstream模块,这个模块通过一个简单的调度算法来实现客户端IP到后端服务器的负载均衡。 Nginx的负载均衡模块目前支持4种调度算法,下面进行分别介绍,其中后两项属于第三方的调度方法。
在HTTP Upstream模块中,可以通过server指令指定后端服务器的IP地址和端口,同时还可以设定每个后端服务器在负载均衡调度中的状态。常用的状态有:
注意,当负载调度算法为ip_hash时,后端服务器在负载均衡调度中的状态不能是weight和backup。 2.5 server虚拟主机配置
server标志定义虚拟主机开始,listen用于指定虚拟主机的服务端口,server_name用来指定IP地址或者域名,多个域名之间用空格分 开。index用于设定访问的默认首页地址,root指令用于指定虚拟主机的网页根目录,这个目录可以是相对路径,也可以是绝对路径。Charset用于 设置网页的默认编码格式。access_log用来指定此虚拟主机的访问日志存放路径,最后的main用于指定访问日志的输出格式。 2.6 location URL匹配配置
以下这段设置是将upload和html下的所有文件都交给nginx来处理,当然,upload和html目录包含在/web/wwwroot/www.cszhi.com目录中。
在最后这段设置中,location是对此虚拟主机下动态网页的过滤处理,也就是将所有以.jsp为后缀的文件都交给本机的8080端口处理。
2.7 StubStatus模块配置
stub_status设置为“on”表示启用StubStatus的工作状态统计功能。access_log 用来指定StubStatus模块的访问日志文件。auth_basic是Nginx的一种认证机制。auth_basic_user_file用来指定认证的密码文件,由于Nginx的auth_basic认证采用的是与Apache兼容的密码文件,因此需要用Apache的htpasswd命令来生成密码文件,例如要添加一个test用户,可以使用下面方式生成密码文件: /usr/local/apache/bin/htpasswd -c /opt/nginx/conf/htpasswd test ログイン後にコピー 然后输入两次密码后确认之后添加用户成功。 要查看Nginx的运行状态,可以输入http://ip/NginxStatus,输入创建的用户名和密码就可以看到Nginx的运行状态: Active connections: 1 server accepts handled requests 34561 35731 354399 Reading: 0 Writing: 3 Waiting: 0 ログイン後にコピー Active connections表示当前活跃的连接数,第三行的三个数字表示 Nginx当前总共处理了34561个连接, 成功创建次握手, 总共处理了354399个请求。最后一行的Reading表示Nginx读取到客户端Header信息数, Writing表示Nginx返回给客户端的Header信息数 在最后这段设置中,设置了虚拟主机的错误信息返回页面,通过error_page指令可以定制各种错误信息的返回页面。在默认情况下,Nginx会在主目录的html目录中查找指定的返回页面,特别需要注意的是,这些错误信息的返回页面大小一定要超过512K,否者会被ie浏览器替换为ie默认的错误页面。
整理自:http://ixdba.blog.51cto.com/2895551/790611 以上就介绍了Nginx安装及配置文件nginxconf详解,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
|