Nginx 平滑升级

1.查看旧版Nginx的编译参数

[root@master ~]# /usr/local/nginx/sbin/nginx -V

[root@master ~]# ll nginx*

-rw-r--r--. 1 root root 1015384 3月  19 10:45 nginx-1.14.2.tar.gz

-rw-r--r--. 1 root root 1032345 5月  29 19:42 nginx-1.16.0.tar.gz

2. 编译新版本Nginx源码包,安装路径需要与旧版一致,注意:不要执行make install

[root@master ~]# tar xf nginx-1.16.0.tar.gz -C /usr/src

[root@master ~]# cd /usr/src/nginx-1.16.0/

[root@master nginx-1.16.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module && make

3. 备份二进制文件,用新版本的替换

[root@master nginx-1.16.0]# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

[root@master nginx-1.16.0]# ls

auto     CHANGES.ru  configure  html     Makefile  objs    src

CHANGES  conf        contrib    LICENSE  man       README

[root@master nginx-1.16.0]# cp objs/nginx /usr/local/nginx/sbin

4. 确保配置文件无报错

[root@master nginx-1.16.0]# /usr/local/nginx/sbin/nginx -t

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

5. 发送USR2信号

向主进程(master)发送USR2信号,Nginx会启动一个新版本的master进程和对应工作进程,和旧版一起处理请求

[root@master~]# ps -ef |grep nginx |grep -v grep

root      65388      1  0 17:07 ?        00:00:00 nginx: master process nginx

nginx     65389  65388  0 17:07 ?        00:00:00 nginx: worker process

[root@master ~]# kill -USR2 65388

6,发送WINCN信号

向旧的Nginx主进程(master)发送WINCH信号,他会逐步关闭自己的工作进程,这时所用请求都会有新版nginx处理

[root@master ~]# kill -WINCH 65388

[root@master~]# ps -ef |grep nginx |grep -v grep

root      65388      1  0 17:07 ?        00:00:00 nginx: master process nginx

现在查看部署已经升级完成,查看版本已经成功升级

[root@master~]# /usr/local/nginx/sbin/nginx -V

nginx version: nginx/1.16.0

built by gcc 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC)

built with OpenSSL 1.0.2k-fips  26 Jan 2017

TLS SNI support enabled

configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module

7发送QUIT信号退出进程(等服务器不繁忙时可以相当于重启)

Kill -QUIT 65388

nginx平滑升级实战的更多相关文章

  1. Nginx平滑升级版本!(重点)

    一.解释nginx的平滑升级 随着nginx越来越流行使用,并且nginx的优势也越来越明显,nginx的版本迭代也开始了加速模式,1.9.0版本的nginx更新了许多新功能,例如stream四层代理 ...

  2. 让你的网站免费支持 HTTPS 及 Nginx 平滑升级

    为什么要使用 HTTPS ? 首先来说一下 HTTP 与 HTTPS 协议的区别吧,他们的根本区别就是 HTTPS 在 HTTP 协议的基础上加入了 SSL 层,在传输层对网络连接进行加密.简单点说在 ...

  3. Nginx range filter模块数字错误漏洞修复 (Nginx平滑升级) 【转】

    对线上生产环境服务器进行漏洞扫描, 发现有两台前置机器存在Nginx range filter模块数字错误漏洞, 当使用nginx标准模块时,攻击者可以通过发送包含恶意构造range域的header ...

  4. Nginx range filter模块数字错误漏洞修复 (Nginx平滑升级)

    对线上生产环境服务器进行漏洞扫描, 发现有两台前置机器存在Nginx range filter模块数字错误漏洞, 当使用nginx标准模块时,攻击者可以通过发送包含恶意构造range域的header ...

  5. 02 . Nginx平滑升级和虚拟主机

    Nginx虚拟主机 在真实的服务器环境,为了充分利用服务器资源,一台nginx web服务器会同时配置N个虚拟主机,这样可以充分利用服务器的资源,方便管理员的统一管理 配置nginx虚拟主机有三种方法 ...

  6. Nginx平滑升级详细步骤-113p.cn

    认识平滑升级 有时候我们需要对Nginx版本进行升级以满足运维人员对其功能的需求,例如添加xxx模块,需要xxx功能,而此时Nginx又在跑着业务无法停掉,这时我们就只能平滑升级了. 平滑升级原理 N ...

  7. Nginx 平滑升级、Nginx的一些基础配置

    # Nginx 平滑升级 # 方案一:使用Nginx服务信号进行升级 # 1.将就版本的sbin目录下可执行nginx进行备份(mv nginx nginxold) # 2.将新版本 configur ...

  8. nginx 平滑升级tengine

    wget  http://tengine.taobao.org/download/tengine-1.5.1.tar.gz //下载Tengine1.5.1版本 tar zxvf tengine-1. ...

  9. Linux centos7 nginx 平滑升级

    2021-08-19为了方便读者的阅读,该文通篇使用绝对路径,各位朋友们在实际上操作中可以根据实际情况编写路径(#^.^#)1. 当前环境 # system cat /etc/redhat-relea ...

随机推荐

  1. 剑指Offer面试题29(java版):数组中出现次数超过一半的数字

    题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字. 比如输入一个长度为9的数组{1,2,3,2.2,2.5,4,2}.因为数字2在数组中出现5次,超过数组长度的一半,因此输出2. 解 ...

  2. lydsy1013: [JSOI2008]球形空间产生器sphere 高斯消元

    题链:http://www.lydsy.com/JudgeOnline/problem.php?id=1013 1013: [JSOI2008]球形空间产生器sphere 时间限制: 1 Sec  内 ...

  3. 大数据R语言简析

    R语言是用于统计分析.画图的语言和操作环境.R是属于GNU系统的一个自由.免费.源码开放的软件.它是一个用于统计计算和统计制图的优秀工具. R是统计领域广泛使用的诞生于1980年左右的S语言的一个分支 ...

  4. javaSE基础(一)

    说明: 1)本系列专综合java SE 之基础概念!因为个人觉得,许多知识点的不理解来自于对各种名称与概念的定义的不理解. 2)其中的定义参考来自于Stuart Reges 和 Marty Stepp ...

  5. git服务器的建立

    git简介 首先,与以前广为流行的SVN不同,git是分布式的,其没有服务器端与客户端之分(虽然在项目管理过程中,一般会人为地指定某一台非开发用的机器作为“服务器”,但就git自身功能来说,完全可以没 ...

  6. 通过usb访问mtp设备(ubuntu12.04) (转载)

    转自:http://robert.penz.name/658/howto-access-mtp-devices-via-usb-on-ubuntu-12-04/ A friend asked me h ...

  7. bzoj 3498: PA2009 Cakes【瞎搞】

    参考:https://www.cnblogs.com/spfa/p/7495438.html 为什么邻接表会TTTTTTTLE啊...只能用vector? 把点按照点权从大到小排序,把无向边变成排名靠 ...

  8. robotframework - 基础关键词

    robotframework基础关键词如下: 1.可在python.notepad++ 编辑: *** Settings *** *** Test Cases ***variable ${a} Set ...

  9. akka监控框架设计

    本博客介绍一种AOP.无侵入的akka监控方案,方便大家在生产使用akka的过程中对akka进行监控. 对于自身javaer来说,AOP三个字母基本就解释清楚了akka监控框架的原理.哈哈哈,不过我这 ...

  10. spring cloud config搭建说明例子(四)-补充配置文件

    服务端 ConfigServer pom.xml <dependency> <groupId>org.springframework.cloud</groupId> ...