为了修复网站的一些 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的博客)