nginx升级php,nginx平滑升级的操作教程

平滑升级概述

Nginx方便地帮助我们实现了平滑升级。其原理简单概括,就是:

(1)在不停掉老进程的情况下,启动新进程。

(2)老进程负责处理仍然没有处理完的请求,但不再接受处理请求。

(3)新进程接受新请求。

(4)老进程处理完所有请求,关闭所有连接后,停止。

这样就很方便地实现了平滑升级。一般有两种情况下需要升级Nginx,一种是确实要升级Nginx的版本,另一种是要为Nginx添加新的模块。

升级过程

具体的操作也很简单,如下:

(0)查看当前版本

在存放Nginx的可执行文件的目录下输入:

复制代码代码如下:

./nginx -V

(1)下载新的Nginx版本并编译。

复制代码代码如下:

wget nginx-1.0.11.tar.gz

tar zxvf nginx-1.0.11.tar.gz

cd nginx-1.0.11

./configure --add-module=/customized_module_0 --add-module=/customized_module_1

make

注意不要进行make install

下载:[root@liuawblizfpws~]#wget *.*.tar.gz (版本号已修改)

解压:[root@liuawblizfpws ~]#tar zxvf nginx-0.*.*.tar.gz (版本号已修改)

这里顺便把nginx的版本号修改了,起到一定的安全作用。

修改源码文件:[root@liuawblizfpws ~]#vim nginx-0.*.*/src/core/nginx.h

#define NGINX_VERSION "*.$.&" (版本号)

#define NGINX_VER "net/" NGINX_VERSION (服务器名字)

重新编译之前需要查看之前的nginx的安装信息:[root@liuawblizfpws ~]#/usr/local/nginx/sbin/nginx -V

得到信息(路径因人而异):nginx: configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

编译,但不安装;在编译目录下的objs目录下的nginx文件即是新的执行文件:[root@liuawblizfpws nginx-0.*.*]#./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

[root@liuawblizfpws nginx-0.*.*]#make

备份原有nginx文件:[root@liuawblizfpws ~]#mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

将已经编译好的nginx文件复制到相应的执行路径下:cp ~/nginx-0.*.*/objs/nginx /usr/local/nginx/sbin/nginx

测试,以免不能平滑升级:[root@liuawblizfpws ~]#/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

测试通过则将nginx.pid修改为您nginx.pid.oldbin,同时启动新的nginx:[root@liuawblizfpws ~]#kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`

退出原nginx:[root@liuawblizfpws ~]#kill -QUIT `cat /usr/loca/nginx/logs/nginx.pid.oldbin`

查验:[root@liuawblizfpws ~]#curl -I netonline.me

HTTP/1.1 200 OK

Server: net/*.$.&

Date: Thu, 09 Dec 2010 05:13:36 GMT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值