02 | nginx 指令

命令

在这里插入图片描述

nginx平滑升级

将新版本的nginx编译成新的二进制文件之后(上一篇文章有说),将新的nginx二进制文件替换掉原来旧的nginx二进制文件,其他文件不替换。替换之前最好先将旧的nginx二进制文件备份一下:

// 进入nginx安装目录后输入:
cp nginx nginx.old

用新的编译后的nginx二进制文件替换掉旧的:

// 进入新编译的nginx的objs文件夹后输入:
cp -r nginx /usr/local/nginx/sbin/ -f
然后输入 yes

然后开始进行平滑升级

kill -USR2 nginx-master-pid
// nginx-master-pid的获取方式为 ps -ef | grep nginx,之后看master那行,第二个数字为对应的pid,然后将上面的nginx-master-pid替换为那个数字

输入完以上命令后,会新起一个nginx master进程,这个master进程使用的是新复制过来的nginx二进制文件。当然,在这一步老的nginx master/worker进程还会继续运行,但此时老的nginx master/worker进程已经不再监听 80/443 这样的端口了,新的请求只会进入到新起的master进程中。
这个时候,我们就可以给老的nginx进程发送一个信号,让它优雅地关闭老的worker 进程:

kill -WINCH nginx-master-pid

输入上面的命令后,老的worker进程就退出了,剩下新的master/worker进程以及老的master进程,老的master进程不会退出,这样方便我们做版本回退(复制老的回来,重新走一遍上面的流程)

nginx日志分割

拷贝一份旧的access.log到别的文件夹(或者改个名字),然后执行:

nginx -s reopen

这样其实不好用,有一种做法是写一个bash脚本,里面的逻辑是将日志复制到一个文件夹中,然后再执行reopen。然后再crontab中设置一个定时任务,每天的什么时候执行一次这个脚本,这样就可实现nginx日志的按天分割

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值