01
信号量
=========================
nginx服务运行时,会保持一个主进程和一个或者多个工作进程。
我们可以通过给Nginx服务主进程发送信号就可以控制服务的启停。
nginx服务可以接受的信号
信号 | 作用 |
---|---|
TERM或INT | 快速停止 Nginx服务 |
QUIT | 平缓停止Nginx服务 |
HUP | 使用新的配置文件启动进程,之后平缓停止原有进程,平滑重启 |
USR1 | 重新打开日志文件,常用于日志切割 |
USR2 | 使用新版本的Nginx文件启动服务,平滑升级 |
WINCH | 平缓停止工作进程,升级时使用 |
向nginx服务主进程发送信号方式
- 使用nginx二进制文件
- 使用kill命令发送
kill SIGNAL PID
02
二进制信号量管理
=========================
在Linux平台下,启动Nginx服务器直接运行安装目录下的sbin目录中的二进制文件即可。管理Linux也常用二进制文件发送信号量。
- 查看二进制信号量
# ./sbin/nginx -h
nginx version: nginx/1.11.6
Usage: nginx [-?hvVtTq] [-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
-T : test configuration, dump it 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: /usr/local/nginx/)
-c filename : set configuration file (default: conf/nginx.conf)
-g directives : set global directives out of configuration file
- -V
打印版本号和配置并退出 - -t
测试配置正确性并退出 - -q
测试配置时只显示错误 - -s single
向主进程发送信号
stop, quit, reopen, reload - -p
指定Nginx服务器路径前缀 - -c filename
指定Nginx配置文件路径 - -g directives
指定Nginx附加配置文件路径
03
常用案例
=========================
- 查看Nginx服务进程
[root@localhost nginx]# ps -ef |grep nginx
root 1767 1 0 05:31 ? 00:00:00 nginx: master process ./nginx
nobody 1768 1767 0 05:31 ? 00:00:00 nginx: worker process
root 2053 1741 0 05:44 pts/0 00:00:00 grep nginx
- 查看Nginx版本信息
[root@localhost nginx]# ./sbin/nginx -v
nginx version: nginx/1.11.6
- 检测配置文件并平滑启动
[root@localhost nginx]# ./sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost nginx]# ./sbin/nginx -s reload