首页 > 系统相关 >Nginx热升级

Nginx热升级

时间:2023-06-23 16:12:36浏览次数:48  
标签:nginx 升级 Nginx master usr 进程 local

Nginx热升级指服务不中断情况下用新的Nginx二进制文件替换老的Nginx二进制文件。
1. 备份和替换Nginx二进制文件

git clone https://github.com/nginx/nginx.git
cd nginx
git checkout release-1.22.0
./auto/configure && make && make install && /usr/local/nginx/sbin/nginx

git checkout release-1.22.1
./auto/configure && make

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.backup
cp /root/code/nginx/objs/nginx /usr/local/nginx/sbin

2. 发送USR2给老master进程来启动新master进程
kill -12 老master进程
新master进程是老master进程的子进程

老master进程记录在/usr/local/nginx/logs/nginx.pid.oldbin中,新master进程记录在/usr/local/nginx/logs/nginx.pid中。

新请求由新master和新worker处理。
老master进程不退出原因在于回滚。
3. 升级
向老master进程发送SIGQUIT信号。
kill -3 老master进程

4. 回滚
向老master发送信号SIGHUP(reload,创建新worker),向新master发送信号SIGQUIT。

回滚时只向新master发送信号SIGQUIT也没问题,不增加新的worker进程。

 

kill -l:查看所有信号值

 

参考资料
nginx热升级

标签:nginx,升级,Nginx,master,usr,进程,local
From: https://www.cnblogs.com/WJQ2017/p/17499251.html

相关文章

  • 编译安装及更新 Nginx 服务
    目录一、编译安装Nginx1.下载Nginx源码包2.解压Nginx源码包3.安装编译安装依赖包4.创建运行用户与组5.设置安装的路径及模块6.编译与安装7.优化Nginx的命令8.检查Nginx配置文件是否配置正确二、Nginx版本升级1.安装新版本Nginx依赖包2.设置安装路径及模块3.......
  • Java打怪升级路线
    第一关:JavaSE阶段1、计算机基础2、java入门学习3、java基础语法4、流程控制和方法5、数组6、面向对象编程7、异常8、常用类9、集合框架10、IO11、多线程12、GUI编程13、网络编程14、注解与反射15、JUC编程16、JVM探究17、23种设计模式18、数据结构与算法19、正......
  • Nginx上的HTTPS的配置
    Ngnix上配置HTTPS不算特别复杂,下面记录一下整体过程。生成自签名的SSL证书通过下面命令生成一系列文件,最终只需要server.key和server.crt两个就可以了opensslgenrsa-des3-outserver_temp.key2048opensslreq-new-keyserver_temp.key-outserver.csr-configopenssl.......
  • 让您的Nginx支持Http 3.0 协议
    Http3.0其实从最开设到正式的使用,已经过去了不少时间了,这块也是关系到我们现在数据安全一块很重要的发展,后续我们应该不在会有明文加密的协议的存在了吧,只是在加密的基础上,不断的升级现在的加密方法与技术升级,从而更高的保障我们的数据传输的高效与安全。并且我们也会在这路上......
  • nginx-1.22.1的rpm包,乱打。
    环境准备主机名WanIPLanIP应用角色web0110.0.0.7172.16.1.7fpm打包工具web0210.0.0.8172.16.1.8yumrepoyum仓库web0310.0.0.9172.16.1.9安装rpm包的客户端web01安装fpm打包工具#0.安装依赖[root@web01~]#yuminstall-yrpm-build#1.......
  • 阿里云Centos7安装和启动nginx
    centos7安装nginx一、背景在阿里云租了一台centos7的服务器,上面部署了6个tomcat容器,每个里面至少一个应用在跑。之前都是跑的后台应用,应用之间的调用都通过ip+port来解决。但是现在有了2个前端页面的显示要部署,需要通过www.xxxx.com来直接访问到应用,不需要通过端口来解决。所......
  • nginx启动命令和停止命令
    进入nginx的sbin目录下cd/usr/local/nginx/sbin/1、启动nginx./nginx2、停止nginx两种方式#待nginx进程处理任务完毕进行停止。./nginx-squit#先查出nginx进程id再使用kill命令强制杀掉进程。./nginx-sstop3、查看nginx端口psaux|grepnginx4、查看nginx版本......
  • Nginx安装、不能启动的解决办法(无sbin目录,无error.log及access.log文件)、简单文件服务
    基于Nginx搭建的http服务器应用已愈发广泛,本文介绍的Nginx的相关内容都是在Linux环境下搭建完成的。一、Nginx的安装两种方法,二选一即可,有运行不成功的,就在命令前加sudo[安装方法一]##添加源sudorpm-Uvhhttp://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-cen......
  • Nginx服务器之负载均衡策略(6种)
    一、关于Nginx的负载均衡在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务器压力过大,将来自用户的请求转发给不同的服务器。二、Nginx负载均衡策略负载均衡用于从“upstream”模块定义的后端服务器列表中选取一台服务器接受用户的请求。一个最......
  • nginx 的模块及处理流程
        nginx的内部结构是由核心部分和一系列的功能模块所组成。这样划分是为了使得每个模块的功能相对简单,便于开发,同时也便于对系统进行功能扩展。这样的模块化设计类似于面向对象中的接口类,它增强了nginx源码的可读性、可扩充性和可维护性。nginx的4种角色模块Nginx模块主要有......