nginx学习笔记2 nginx信号控制和平滑升级

来源:互联网 发布:万博软件 周末 编辑:程序博客网 时间:2024/05/01 21:23

一.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'  关闭


10.进入老版本可执行文件目录下
./nginx -v
看到版本为新版本即升级成功



0 0