nginx平滑更新升级,然后切换到新版本

[ 2013-04-27 10:19:47 | 作者: admin ]
字号: | |
VPS侦探原来一直使用的是Nginx 0.7.63,一直没什么问题,最近有空顺便升级一下,更新到最新比较稳定稳定的0.7.65,顺便做一下简单的维护。

Nginx编译后就一个小文件,不带动态库,升级也可以无缝升级,并不影响访问,lnmp一键安装包安装的环境直接按下面的命令执行就可以,具体想升级的版本可以到nginx上查看。

首先下载Nginx:执行wget http://soft.vpser.net/web/nginx/nginx-0.7.65.tar.gz

查看nginx原来的配置
nginx -V

再执行
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module

然后make,但不要make install

编译完,在objs目录下有一个nginx执行文件,就是它了。

备份下原来老的nginx文件

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

在把新objs下的nginx cp到sbin下,执行:cp objs/nginx /usr/local/nginx/sbin/nginx

执行 /usr/local/nginx/sbin/nginx -t 测试下,显示没有问题。

再执行:make upgrade

执行:/usr/local/nginx/sbin/nginx -V 将会出现nginx的版本及编译的参数,不过这个才刚开始,进程还是老的nginx进程。

kill -USR2 旧版程序的主进程号或进程文件名
此时旧的Nginx主进程将会把自己的进程nginx.pid文件改名为.oldbin,然后执行新版 Nginx。新旧Nginx会同市运行,共同处理请求。

这时要逐步停止旧版 Nginx,输入命令:
kill -WINCH 旧版主进程号
慢慢旧的工作进程就都会随着任务执行完毕而退出,新版的Nginx的工作进程会逐渐取代旧版 工作进程。
[最后修改由 admin, 于 2013-04-27 10:26:45]
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=2016

这篇日志没有评论。

此日志不可发表评论。