建站经验 experience
当前位置:首页 > 网站建设专题 > 建站经验
NGINX 平滑升级到 0.8.53 小记
发布日期:2011-01-25 阅读次数:631 字体大小:

为了修复网站的一些 BUGs ,对 VPS 的一些配置做了调整,顺便把 LNMP0.4 一键安装包默认安装的 NGINX 0.7.65 升级到 0.8.53,升级过程中发现网上很多教程都是直接 copy 的,有部分错误,而且不够完整。现在记录一下,免得日后自己忘记了,也给比我更菜的人指条明路吧。

首先用 Putty 以 root 身份登录到 VPS,下载 NGINX 0.8.53:

wget http://nginx.org/download/nginx-0.8.53.tar.gz

解压 NGINX 压缩包,并进入 NGINX 文件目录。

gzip -d nginx-0.8.53.tar.gz

tar xvf nginx-0.8.53.tar

cd nginx-0.8.53

接下来执行下面的命令,配置 NGINX 的相关模块(从字面来看应该是这个意思吧?其实我是装懂的)。

./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

等待命令执行结束后进行编译。

make

编译完成后,编译完,在objs目录下会有一个 NGINX 的执行文件。这是需要备份原来(旧版)的 NGINX,防止意外发生啊。

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

然后把刚才编译的 NGINX 0.8.53 复制到 sbin 目录下。

cp -a nginx /usr/local/nginx/sbin/

检测一下 NGINX 是否正常。

/usr/local/nginx/sbin/nginx -t

如果出现下面的提示就说明没问题了。

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

the configuration file /usr/local/webserver/nginx/conf/nginx.conf was tested successfully

让 NGINX 把 nginx.pid 改成 nginx.pid.oldbin 跟着启动新的 NGINX,一般使用 LNMP0.4 一键安装包的朋友执行下面的命令就可以了。

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

不是使用 LNMP0.4 一键安装包的筒靴要先查看一下 NGINX 的主进程号。

ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F ' ' '{print $2}'

假如查询到的主进程号是 6302 的话,就执行下面这句命令。

kill -USR2 6302

最后是退出旧的 NGINX

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

最后说明一下,NGINX 0.8.x 基本上都是些稳定版,兼容性和稳定性应该都比较好,可以放心升级。(来源:bolo的博客