nginx的平滑升级方法:

最简单的nginx的平滑升级方法:

1 找到nginx的执行文件的路径

# ps auxf|grep nginx  记下nginx的master进程 pid(我这里是2752 )

2 查看当前nginx的版本及编译参数:

# nginx -V

nginx version: nginx/1.8.0

built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)

built with OpenSSL 1.0.1e-fips 11 Feb 2013

TLS SNI support enabled

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

3 下载tar xf nginx-1.11.5.tar.gz

# tar xf tar xf nginx-1.11.5.tar.gz && cd tar xf nginx-1.11.5
# ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_sub_module --with-google_perftools_module
# make  注意这里不要执行make install操作。

4 移走原先的nginx二进制文件

# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_old

5 替换新编译的 文件到nginx的sbin目录下

# cp objs/nginx /usr/local/nginx/sbin/

6 执行升级命令(在解压出的新版本的nginx源文件目录下执行)

# make upgrade

/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

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

sleep 1

test -f /usr/local/nginx/logs/nginx.pid.oldbin

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

7 检查升级是否完成

# ps aux|grep nginx 可以看到nginx的master进程 pid变了。
# /usr/local/nginx/sbin/nginx -V 也可以看到nginx的版本升级完成了
# ps aux|grep nginx还可以看到老的nginx进程在逐步shutdown。
时间: 2024-11-03 21:47:01

nginx的平滑升级方法:的相关文章

源码安装nginx以及平滑升级

作者:尹正杰 这个博客不方便上传软件包,我给大家把软件包放到百度云了: 链接:http://pan.baidu.com/s/1eS3bn4u 密码:04a1 欢迎加入:高级运维工程师之路 598432640 操作平台: 1.创建ngxin用户,(用于管理nginx服务,您也可以随意指定的哟~) useradd -s /sbin/nologin nginx 2.安装基础环境 yum -y install gcc pcre-devel openssl-devel zlib-devel 3.安装ngi

nginx不间断服务平滑升级

(1)备份旧的nginx和配置文件 cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/bak_nginx #备份旧版程序 cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/bak_nginx.conf #备份配置文件 (2)编译安装新版本  ./configure --user=www --group=www --prefix=/usr/local/nginx --with-

Nginx的平滑升级

环境说明 当前服务器中正在运行Nginx服务,现想将当前运行的Nginx服务的版本经行升级,(从1.6升级到1.8,版本的跨度不要太大,容易造成服务的崩溃),且在服务不停止的前提下经行升级. 1. 在不停掉老进程的情况下,启动新进程. 2. 老进程负责处理仍然没有处理完的请求,但不再接受处理请求. 3. 新进程接受新请求. 4. 老进程处理完所有请求,关闭所有连接后,停止. 实现步骤 1. 编译安装nginx-1.6 yum -y install pcre-devel zlib-devel #安

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 平滑升级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通过shell脚本平滑升级版本

1.简介 有时候nginx发布了新BUG或者添加了新的功能时,想要更新的时候服务又不能中断,这时候就要用到nginx的平滑升级了. 该脚本同样适用于添加新扩展,添加新扩展的时候只需要把更新的版本修改为当前版本,更新的时候把需要添加的扩展加上去即可.我这里nginx安装目录为/usr/local/nginx当前系统,阿里云ECS CentOS 7 64位 2.查看nginx版本与编译信息/usr/local/nginx/sbin/nginx -V 注:这里的扩展要记录下来(重要),等下升级的时候用

Nginx平滑升级版本!

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

nginx1.8.0版本平滑升级新版本1.9.7

首先查看现在环境nginx的版本为1.8.0 编译的参数只指定了安装路径: [[email protected] sbin]# ./nginx -V nginx version: nginx/1.8.0 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) configure arguments: --prefix=/usr/local/nginx 平滑升级步骤如下: 下载nginx1.9.7版本,解压并进入解压后的目录 [[email pro

Nginx平滑升级和平滑重启

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