Nginx系列.doc
文本预览下载声明
Nginx系列
一 信号与配置
一、Nginx与信号
Nginx支持平滑重启,相比于Apache,修改了配置文件后可以不需要先停止程序,再重新启动。
1、启动
nginx –c nginx.conf
其中,-c nginx.conf可以省略不写。如果省略,则默认加载安装目录下的conf子目录中的nginx.conf。
2、停止
停止的方式有很多种,kill时传入不同的信号来结束或者平滑重启。Nginx的进程号记录在Pid文件中,Pid文件的位置可以在conf/nginx.conf中找到。如下图:
当然,也可以根据
ps –ef | grep nginx
来查找Nginx的进程号。我们可以通过kill命令来结束Nginx。
从容停止Nginx:
kill – QUIT Nginx进程ID
或
kill – QUIT /usr/local/nginx/logs/nginx.pid
快速停止Nginx:
kill – TERM Nginx进程ID
或
kill – TERM /usr/local/nginx/logs/nginx.pid
或
kill – INT Nginx进程ID
或
kill – INT /usr/local/nginx/logs/nginx.pid
强制停止Nginx:
kill –9 Nginx进程ID
或
kill -9 /usr/local/nginx/logs/nginx.pid
或
pkill -9 nginx
3、重启
如果修改了Nginx的配置文件,想要重启Nginx。同样可以使用kill命令来传递信号。不过,在此之前,我强烈建议先检查并测试配置文件是否正确。
测试配置文件:
nginx –t –c conf/nginx.conf
若提示unknow directive *** in conf/nginx.conf:55. Configuration file conf/nginx.conf test failed,则证明在第55行的***是非法的,需要修改。
若提示the configuration file conf/nginx.conf syntax is ok. Configuration file conf/nginx.conf test is successful,则证明配置文件测试通过,可以重启Nginx了。
平滑重启Nginx:
kill –HUP Nginx进程ID
或
kill – HUP /usr/local/nginx/logs/nginx.pid
当Nginx收到HUP信号的时候,首先会尝试解析配置文件,如果成功,则应用新的配置文件并完成重启。
4、Nginx升级
Nginx可以平滑升级,在我们重新便利Nginx、添加或删除服务器模块等操作后,通过kill命令并传递USR2信号进行升级。在此之前,请备份旧的可执行文件。
1)、新的版本仍旧会安装在旧目录当中。
2)、旧Pid文件被重命名为.oldbin
3)、执行新版本的Nginx,启动主进程和子进程。
4)、此时新旧版本同时在运行,需要使用kill命令并发送WINCH信号给旧的进程ID,是它从容关闭。
5、Nginx的信号
1)、TERM、INT 快速关闭
2)、QUIT从容关闭
3)、HUP平滑重启,重新加载配置文件
4)、USR1 重新打开日志文件
5)、USR2 平滑升级可执行程序
6)、WINCH 从容关闭工作进程
二、基本配置
1、主配置文件
主配置文件默认位于Nginx安装目录下的conf/nginx.conf。下面我们将逐行解读Nginx 的主配置文件。
#使用的用户和用户组
user www www;
#子进程个数,一般等于CPU的总核心数,如4核CPU则为4
worker_processes 4 ;
#一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。现在在linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应该填写65535。
worker_rlimit_n
显示全部