nginx 服务的启停控制
使用kill命令发送信号
如:kill -QUIT 主进程号 注:平缓停止
nginx服务在运行时,会保存一个主进程和一个或多个worker process工作进程。我们通过给nginx
服务的主进程发送信号就可以控制服务的启停了。首先需要知道主进程的进程号PID。
获取PID途径:
1.nginx服务器安装目录下的logs目录中会产生文件名为nginx.pid文件,保存主进程的PID。
2.ps命令,如:ps -ef|grep nginx。
nginx服务可接受的信号:
TERM或INT | 快速停止nginx服务 |
QUIT | 平缓停止nginx服务 |
HUP | 使用新的配置启动进程,然后平缓停止原有的进程,既平滑重启。 |
USR1 | 重新打开日志文件,用于日志切割 |
USR2 | 使用新版本的nginx文件启动服务,然后平缓停止原有nginx进程,既平滑升级 |
WINCH | 平缓停止worker process,用于nginx服务器平滑升级 |
另外可以通过nginx二进制文件发送信号,自从 0.7.53 版本之后新增了一些命令行参数
cd /nginx/sbin 进入nginx安装路径下的sbin目录
./nginx -h 打印二进制文件nginx的用法,提示信息如下。
nginx version: nginx/1.8.0
Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]
Options:
-?,-h : this help
-v : show version and exit
-V : show version and configure options then exit
-t : test configuration and exit--测试配置正确性并退出
-q : suppress non-error messages during configuration testing
-s signal : send signal to a master process: stop, quit, reopen, reload--向主进程发送信号
-p prefix : set prefix path (default: /opt/nginx/)--用来改变nginx的安装路径,常用来平滑升级
-c filename : set configuration file (default: conf/nginx.conf)--用来指定启动nginx服务使用的配置文件
-g directives : set global directives out of configuration file--用来补充nginx配置文件,向nginx服务指定启动时应用于全局的配置。
./nginx -s reload :修改配置后重新加载生效
./nginx -s reopen :重新打开日志文件
./nginx -t -c /path/nginx.conf :测试nginx配置文件是否正确
./nginx -s stop :快速停止nginx
./nginx -s quit :平缓停止nginx
nginx服务的停止方式
1.快速停止
停止当前nginx服务正在处理的所有网络请求,丢弃连接,停止工作。
2.平缓停止
允许nginx服务将当前正在处理的网络请求处理完成。但不接受新的请求,然后关闭连接,停止工作。