nginx平滑升级实战

Nginx 平滑升级

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

[[email protected] ~]# /usr/local/nginx/sbin/nginx -V

[[email protected] ~]# 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

[[email protected] ~]# tar xf nginx-1.16.0.tar.gz -C /usr/src

[[email protected] ~]# cd /usr/src/nginx-1.16.0/

[[email protected] 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. 备份二进制文件,用新版本的替换

[[email protected] nginx-1.16.0]# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

[[email protected] nginx-1.16.0]# ls

auto     CHANGES.ru  configure  html     Makefile  objs    src

CHANGES  conf        contrib    LICENSE  man       README

[[email protected] nginx-1.16.0]# cp objs/nginx /usr/local/nginx/sbin

4. 确保配置文件无报错

[[email protected] 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进程和对应工作进程,和旧版一起处理请求

[[email protected]~]# 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

[[email protected] ~]# kill -USR2 65388

6,发送WINCN信号

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

[[email protected]master ~]# kill -WINCH 65388

[[email protected]master~]# ps -ef |grep nginx |grep -v grep

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

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

[[email protected]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

原文地址:https://www.cnblogs.com/zc1741845455/p/10946476.html

时间: 2024-10-16 18:24:44

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

Nginx平滑升级版本!

一.解释nginx的平滑升级 随着nginx越来越流行使用,并且nginx的优势也越来越明显,nginx的版本迭代也开始了加速模式,1.9.0版本的nginx更新了许多新功能,例如stream四层代理功能.伴随着nginx的广泛应用,版本升级必然是越来越快的,线上业务不能停,此时nginx的升级就是运维的重要工作了,下面就带大家一起来理解下nginx平滑升级. 二.nginx平滑升级原理 多进程模式下的请求分配方式 Nginx默认工作在多进程模式下,即主进程(master process)启动后

nginx平滑升级,K哥

2016年9月29日 nginx版本为1.6.0,需要升级下,但由于是生成环境就需要平滑升级了. 登录nginx官网查看最新版本 http://nginx.org/en/download.html 发现1.6大版本下,最新版为1.6.3 那么就升级到1.6.3 在服务器下载软件包 wget http://nginx.org/download/nginx-1.6.3.tar.gz 解压 tar -zxvf nginx-1.6.3.tar.gz 进入 cd nginx-1.6.3 编译 ./conf

【Nginx】源码安装Nginx 平滑升级Nginx

Web服务对比 Linux平台 Php.Python:nginx.tengine(淘宝).apache Jave:tomcat.Jboss.IBM WebSphere Windows平台:IIS(.net) Nginx的优点:性能高.并发高.静态网站.动态网站(php.python) 在对比其他web软件的情况下nginx的性能更加好!在国内广泛使用 Nginx 十分轻量级的HTTP服务器 是一个高性能的HTTP和反向代理服务器 官方网站: http://nginx.org/ Nginx以及现代

nginx平滑升级

Nginx的平滑升级 1.查看当前版本 #cd /usr/local/nginx/ #进入Nginx安装目录 # sbin/nginx -V #查看版本 nginx version: nginx/0.7.60 configure arguments: –user=www –group=www –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module #编译项 得到原来./configure 的编译项

Nginx平滑升级和平滑重启

如果要对当前的Nginx服务器进行版本升级,应用新模块,如果用户访问量比较大的时候,如果需要在不影响客户的情况下进行升级的话,这时候就得考虑平滑升级了. 平滑升级的过程,Nginx服务器接受到USR2信号后,首先将旧的nginx.pid文件添加后缀.oldbin,变为nginx.pid.oldbin文件,然后执行新版本的Nginx服务器的二进制的文件启动服务,这个时候需要提前将编译好的新版本的二进制实现复制到sbin文件夹中.如果新的服务启动成功,系统中将有新旧两个Nginx服务共同提供Web服

nginx 平滑升级tengine

wget  http://tengine.taobao.org/download/tengine-1.5.1.tar.gz //下载Tengine1.5.1版本 tar zxvf tengine-1.5.1.tar.gz //解压到当前目录 cd tengine-1.5.1 //进入到目录 ./configure //执行安装脚本 make //编译安装 mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old //备份ngin

Nginx提供网站服务应用包括(虚拟主机、用户访问控制、用户验证、nginx平滑升级、防盗链)的配置

Nginx   开源且跨平台的软件    俄罗斯人开发的   提供网站服务  和  代理服务 Nginx 提供网站服务应用环境? 1.虚拟主机2.用户访问控制3.用户验证4.防盗链 实验环境: 安装软件:nginx-0.855.tar.gz 操作系统:centos6.5 实验:(一) 实验目的:nginx源码包的安装以及基本的使用. 安装源码包要安装的工具:开发工具 和开发环境 1.安装nginx源码包 建立ngix软件夹用来存放nginx软件包 添加一个进程的所有者和所属组为www,www为n

nginx 平滑升级

怎么能在不停止服务的情况下,平滑的升级nginx?下面告诉你答案,其实很简单 1.下载nginx新版本,并解压,进入解压的目录 2.你要执行旧版本的nginx -V来查看旧版本编译的时候,编译了什么模块,配置了什么信息. 3.编译新版本的nginx,./configure .....,这里省略的内容与旧版本在编译时是一样的,这个内容就是nginx -V查看到的内容, ./configure ...... make 这里注意了,执行到了make这句的时候就停止了,不要make install 4.

Nginx平滑升级到最新版本

(一)简述: 早上收到nginx最新漏洞的通知,Nginx官方发布最新的安全公告,在Nginx范围过滤器中发现了一个安全问题(CVE-2017-7529),通过精心构造的恶意请求可能会导致整数溢出并且不正确处理范围,从而导致敏感信息泄漏. 当使用Nginx标准模块时,如果文件头从缓存返回响应,允许攻击者获取缓存文件头.在某些配置中,缓存文件头可能包含后端服务器IP地址或其他敏感信息.此外,如果使用第三方模块有潜在的可能导致拒绝服务. 影响版本 Nginx 0.5.6-1.13.2 漏洞等级 中危