目前老的nginx正在运行中,我们要进行nginx执行文件的替换。下面我记录一下我的操作:

1、下载一个新版本的nginx源码包儿解压,写好参数比如./configure --prefix=/usr/local/ --with-http_mp4_module --with-http_flv_module 然后执行make,但不make install。或者将同一个版本的nginx的源码包更新参数,比如增加一个模块--with-http_stub_status_module然后make,还是一样不要执行make install

2、替换nginx执行文件。

备份原nginx执行文件

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/1.10.0_nginx

进入源码包所在目录下的objs目录,将nginx文件复制到/usr/local/nginx/sbin/

cp /tmp/nginx-1.11.3/objs/nginx /usr/local/nginx/sbin/

3、旧的请求,继续由旧执行文件处理,新的请求统统由新程序执行。

新执行文件启动,生成新进程号,新旧的进程共存!

kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`

或kill -12 `cat /usr/local/nginx/logs/nginx.pid`

新来的请求统统由新程序处理,老的连接还继续由老程序处理。

kill -WINCH `cat /usr/local/nginx/logs/nginx.pid.oldbin`

或kill -28 `cat /usr/local/nginx/logs/nginx.pid.oldbin`

愣一段儿时间,你觉得没有人还在用旧的程序了。时机到了,彻底弃用旧程序!

kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`

或kill -3 `cat /usr/local/nginx/logs/nginx.pid.oldbin`

本文转自 朱科强 51CTO博客,原文链接:http://blog.51cto.com/zhukeqiang/1847357,如需转载请自行联系原作者

不停止nginx服务的情况下替换nginx执行文件相关推荐

  1. 【Nacos】生产上需要不重启服务的情况下刷新配置,这个方法可以试试

    [Nacos]生产上需要不重启服务的情况下刷新配置,这个方法可以试试 配置 Demo搭建 RefreshScope 原理 假设Nacos服务已经搭建完成 配置 新建service-config配置文件 ...

  2. Oracle 无备份情况下的恢复--控制文件/数据文件

    13.3无备份恢复控制文件 没有备份恢复控制文件其实就是在nomount状态,create control创建一个新的控制文件. dba必须知道4个信息才能正确的创建:数据库名.在线日志路径及其大小. ...

  3. Git管理 本地文件误删(提交和没提交情况下),恢复文件的方法

    注意:右键空白区域弹出的git的版本库浏览器窗口,为本地库.提交与否影响的是此处是否和资源管理器目录的一致. 1.Git管理 本地文件误删(没提交情况下),恢复文件的方法: 2.Git管理 本地文件误 ...

  4. 从键盘输入两个数作为除数和被除数。要求程序中捕获NumberFormatException 异常和ArithmeticException 异常, 而且无论在哪种情况下,“程序执行结束”这句话都会在控制

    编写应用程序,从键盘输入两个数作为除数和被除数.要求程序中捕获NumberFormatException 异常和ArithmeticException 异常, 而且无论在哪种情况下,"程序执 ...

  5. 在 iPhone 静音情况下,播放 MP3 文件的代码

    转自: http://xiongzhend.blog.163.com/blog/static/6409850120108821651530/ 在 iPhone 静音情况下,播放 MP3 文件的代码 在 ...

  6. 使用nginx代理的情况下获取用户真实IP

    ##1.背景知识 1.1. 前提知识点: 还有nginx中的几个变量: remote_addr 代表客户端的IP,但它的值不是由客户端提供的,而是服务端根据客户端的ip指定的,当你的浏览器访问某个网站 ...

  7. nginx session共享_Centos下实现nginx负载均衡

    一.基本思路 网络拓扑图 1.利用nginx实现负载均衡和反向代理,减轻主服务器访问压力: 2.利用springboot实现多tomcat的session共享: IP角色 192.168.0.170n ...

  8. macos nginx php mysql_mac环境下搭建nginx + php + mysql开发环境

    1.安装homebrew(mac下好用的包管理器) 第一步,获取install文件 把官网给的脚本拿下来 curl -fsSL https://raw.githubusercontent.com/Ho ...

  9. mac nginx php-fpm,Mac系统下搭建Nginx+php-fpm

    分享背景 由于一直在虚拟机的状态下开发PHP,尝试一下mac本地搭建环境.mac本身是自带Apache+php的,在低版本的mac系统中,mac中的php版本是5.6的版本. 本文分享的是在mac的1 ...

最新文章

  1. Android switchCompat. 和 Switch
  2. keil lib 只调用自己的函数_C语言学习篇(28)——函数库
  3. CEO 赠书 | 当我们谈企业文化时,我们在谈什么?
  4. Python基础02-序列及通用操作
  5. LeetCode 268. 缺失数字
  6. iphone怎么检测屏幕是否被点亮 (用UIApplication的Delegate)
  7. 手机访问电脑文件_手机直接访问电脑文件,不用数据线,方便快速
  8. Java连Mysql数据库
  9. Java面试不得不知的问题(一)
  10. openstack安装newton版本dashboard+cinder(六)
  11. Java连接数据库(增删改查)
  12. FLEX地图应用教程集
  13. 汇总!零基础到进阶Graphpad Prism完整指南!教程全方位汇总!
  14. 适用于Creo 4.0-6.0的PTC Creo EMX 12.0.2.8
  15. MacPro 迁移至 Mac Mini-M1 与 踩坑 For 后端开发
  16. 计算机老师任课教师寄语,任课老师新学期寄语
  17. 1. SpringBoot 整合 Canal
  18. MySQL数据库引擎和索引
  19. 轮播图功能的全实现(自动播放、小点点、按住停止播放、放手后开始播放...)
  20. 心血来潮拆华硕X54H笔记本(打算升级)

热门文章

  1. 社区出入登记1.0.53完整安装包+小程序前端
  2. 获取url中的参数方法,避免#的干扰,删除url指定参数(vue hash模式 有#删除指定参数问题)
  3. php多功能引流工具箱源码
  4. 好看的个人主页,个人引导页
  5. Q六娱乐网整站源码分享
  6. Java开发必会MVC三层架构
  7. mysql 使用的三个小技巧
  8. MongoDB 教程四: 高级更改操作
  9. JQuery中使用Ajax赋值给全局变量失败异常的解决方法,jqueryajax
  10. 用JavaScript探测页面上的广告是否被AdBlock屏蔽了的方法