nginx热部署更新和日志切割

原来版本是1.12的装在/usr/local/nginx2,现在需要更新成1.16的,需要进过以下步骤

1:查看现有nginx进程信息 ps -ef | grep nginx

root          7508     1  0 21:46 ?        00:00:00 nginx: master process ./sbin/nginx
nobody    7509  7508  0 21:46 ?        00:00:00 nginx: worker process
root          7524  1231  0 21:58 pts/0    00:00:00 grep nginx

然后把旧的二进制文件备份下

cp /usr/local/nginx2/sbin/nginx nginx.old

2: 把新的nginx的二进制文件覆盖掉旧的nginx二进制文件

cd /data/soft/nginx-1.16.0

../configure --prefix=/usr/local/nginx2

make

cp -r /data/soft/nginx-1.16.0/objs/nginx /usr/local/nginx2/sbin/ -f

/data/soft/nginx-1.16.0/objs这个目录是新的nginx1.16编辑后才有的

3:给正在运行旧的nginx的master进程发个信号告诉master进程我们要热部署了

kill -USR2 7508

运行之后发现会新起一个master进程和worker进程,老的master跟worker都还在,只是不再监听80跟443端口了

root      7508     1  0 21:46 ?        00:00:00 nginx: master process ./sbin/nginx
nobody    7509  7508  0 21:46 ?        00:00:00 nginx: worker process
root      7552  7508  0 22:16 ?        00:00:00 nginx: master process ./sbin/nginx
nobody    7553  7552  0 22:16 ?        00:00:00 nginx: worker process

./nginx -V
/usr/local/nginx2/sbn/nginx version: nginx/1.16.0

已经是新的版本了

4:把旧的worker进程优雅的关掉

kill -WINCH 7508

这个时候你会发现老的master进程还在,worker进程不在了,老的master进程流着可以做版本回退

 

二:日志切割

   1:把原来的access.log备份下

    mv access.log access.log.bak

2: 执行:

./sbin/nginx -s reopen

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值