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

简介:

目前老的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,如需转载请自行联系原作者
相关文章
|
3月前
|
负载均衡 Ubuntu 应用服务中间件
【Linux】Web服务之Nginx服务
【Linux】Web服务之Nginx服务
39 0
|
4月前
|
应用服务中间件 Linux 网络安全
Linux 安装 Nginx 并配置为系统服务(超详细)
Linux 安装 Nginx 并配置为系统服务(超详细)
|
6月前
|
Kubernetes Cloud Native 应用服务中间件
【云原生】使用k8s创建nginx服务—通过yaml文件svc类型暴露
【云原生】使用k8s创建nginx服务—通过yaml文件svc类型暴露
132 0
|
6月前
|
Kubernetes Cloud Native 应用服务中间件
【云原生】使用k8s创建nginx服务—通过ingress类型暴露
【云原生】使用k8s创建nginx服务—通过ingress类型暴露
|
4月前
|
负载均衡 算法 应用服务中间件
这些负载均衡都解决哪些问题?服务、网关、NGINX?
这些负载均衡都解决哪些问题?服务、网关、NGINX?
107 1
|
1月前
|
NoSQL 关系型数据库 MySQL
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
221 0
|
1月前
|
安全 应用服务中间件 nginx
|
1月前
|
域名解析 网络协议 应用服务中间件
nginx-ingress通过ipv6暴露服务,并在nginx ingress日志中记录客户端真实ipv6的ip地址
本文主要通过阿里云提供的clb和nlb来实现,建议是提前创建好双栈的vpc和vsw(使用clb可以不用双栈vpc和vsw)
189 1
|
6月前
|
运维 Java 应用服务中间件
【Nginx异常】无法加载响应数据:No data found for resource with given identifier,后端服务报Caused by: java.io.IOExcepti
【Nginx异常】无法加载响应数据:No data found for resource with given identifier,后端服务报Caused by: java.io.IOExcepti
914 0
|
2月前
|
缓存 应用服务中间件 网络安全
nginx服务升级配置
nginx服务升级配置