一.nginx常见的信号控制
HUP:重启
QUIT:从容关闭
TREM:快速关闭
INT:从容关闭
USR1:切换或切割日志文件
USR2:平滑升级可执行进程,在不影响旧进程运行情况下升级新进程
WINCH:从容关闭工作进程
二.USR实例
1.查看nginx的master(主进程)号
ps -ef|grep nginx
2.kill -USR1|USR2 进程号
三.从容关闭nginx的work(工作进程),关闭后nginx虽启动但不会处理请求
kill -WINCH master主进程号
虽然输入的时主进程,但会关闭work进程
四.nginx的平滑升级
平滑升级的时候,nginx不会停止原来运行的老进程并继续处理请求。然后继续新开新进程处理请求。在老进程处理完毕他的请求,停止。有新进程继续后面的请求。
1.进入nginx可执行文件夹内,查看现有版本
./nginx -v
2.进入官网下载跟高版本的nginx nginx.org/en/download.html
3.进入下载目录,解压
tar -zxvf nginx-1.9.2.tar.gz
4.进入到解压后的nginx跟目录
./configure
然后
make
5.找到新版可执行文件
cd objs
此目录下的nginx就是新版的可执行文件
6.进入老版本可执行文件所在目录,讲老板可执行文件备份
cd nginx nginx.old
7.将新版的nginx可执行文件复制到老板可执行文件目录下(覆盖)
cp -rfp objs/nginx /usr/sbin
8. 测试一下新复制过来文件生效情况:
# /usr/sbin/nginx -t
看到ok和successful即生效
9.执行
# kill -USR2 'cat /run/nginx.pid' 更新配置文件
# kill -QUIT 'cat /usr/local/webserver/nginx/nginx.pid.oldbin' 关闭
# kill -QUIT 'cat /usr/local/webserver/nginx/nginx.pid.oldbin' 关闭
10.进入老版本可执行文件目录下
./nginx -v
看到版本为新版本即升级成功