nginx的热更新(随时更新修正)

vim编辑nginx配置文件的显示效果设置

在nginx的vim包的下载

在nginx.org 是公开版本,在nginx.com 中为商用版本,技术提供的服务多些。在公开版中,分Mainline version(尝鲜版)与Stable version(稳定版)与Legacy versions(历史稳定版)。CHANGES显示更新内容。1.17.x(单数为测试版Mainline version),1.16.x(双数为稳定版Stable version),在上面下载好需要的版本。

复制其中的vim内容到linux的vim文件

在解压出的文件中,有一个contrib文件,文件中的vim的文件,就包含在进行vim编辑时显示的nginx显示效果,需要把vim中的内容复制到~/.vim/,如果没有该文件夹则复制到linux的/usr/share/vim/vimfiles/当中。
这样就能够以nginx独有的显示方法显示vim编辑nginx.conf时的内容。

热部署,热更新openresty的nginx

nginx的可执行文件的拷贝

热部署只需要更换nginx(在linux中显示绿色)的可执行文件,先把原先的在/usr/local/openresty/nginx/sbin/下的nginx文件,进行备份,cp nginx nginx.old。预防翻车。
对下载的nginx进行编译,执行和安装(./configure【该命令执行时定义好路径】 、make、make install)。最后,文件夹当中会生成一个src文件夹,在文件夹中含有刚刚编译好的二进制nginx文件,把它进行复制到、nginx/sbin/当中进行替换,cp -r nginx /usr/local/openresty/nginx/sbin -f 。

对master进程进行新旧替换

然后进行nginx进程的查看,ps -ef | grep nginx, 会有之前nginx运行时的master揽活和分活的主进程,以及执行处理请求的worker进程。接着执行kill -USR2 (旧master进程的PID) ,这样就会新起一个master进程,老的master也同时存在。老的worker进程就不会监听80端口,新的master也会有新的worker进程。然后就是优雅关闭老的worker进程,执行kill -WINCH (老的master进程的PID)。这样所有老的worker就会全部退出,但老的master还会保留做版本回退。

日志切割

/var/log/nginx 有access.log ,需要把以前的log文件备份,用mv。然后直接执行 nginx -s reopen。就可以实现日志切割。一般每天,每周执行一次。而执行方式用bash脚本来执行,可选择编写一个rotate.sh文件,然后用crontab 来进行定时执行日志切割。crontab -l 可以查看所有自动执行的指令。
通过 crontab -e 就可以进入编辑自动执行脚本,输入2进入编辑。

For Example:

当天23点,第二天0点到凌晨7点 每隔1分钟执行一次脚本

 * 23,00-07/1 * * * /bin/sh /home/omc.h.sh
每年的4月份每周的周一到周三的11点执行脚本  
00 11 *  4 1-3 /bin/sh /home/omc/h.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值