Nginx平滑升级更新到最新
# wget http://nginx.org/download/nginx-0.9.3.tar.gz
下载了最新的工程版nginx,个人vps了。一直用的最新的呵~
# tar zxvf nginx-0.9.3.tar.gz
解压
# cd nginx-0.9.3.tar.gz
进入解压后的目录
make编译下,这里就不要install了。
# mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
备份下需要升级的老nginx版本,这是个非常必要的习惯,熟称“后悔药”。
# cd objs/
objs目录,这里有刚刚编译好的nginx二进制文件,也就是可执行文件。
# cd /usr/local/nginx/sbin/
# rm –rf nginx
#删除原来的nginx 如果mv不成功的话。
# cd /home/wwek/nginx/nginx-0.8.32/objs/
#回到编译新版本nginx的objs目录
# cp nginx /usr/local/nginx/sbin/
复制新nginx文件到你的nginx目录
具体说了这么复杂,最容易理解的就是把objs目录下新的nginx替换到/usr/local/nginx/sbin/下就可以了,不管是用winscp还是ftp都可以。
# /usr/local/nginx/sbin/nginx -t
测试新版本的nginx是否配置正常。如果提示:
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful
就表示配置正确。
# kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
让nginx把nginx.pid改成nginx.pid.oldbin 接着启动新的nginx。注意你要找到自己的nginx的pid位置。
注意这里的 ` 是英文状态下的 漂号 也就是 tab键上面哪个。
# kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
退出以前旧的nignx
整个升级过程就完成了。然后升级是否成功。
以前我们可以用 killall -s HUP nginx 或者 kill -HUP `cat /opt/ngx/logs/nginx.pid` 方法来重新加载配置,
0.7.53 版本之后的nginx重载现在只需要用/usr/local/nginx/sbin/ngint –s reload命令即可。还是挺省事的
-c </path/to/config> 为 Nginx 指定一个配置文件,来代替缺省的。
-t 不运行,而仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。
-v 显示 nginx 的版本。
-V 显示 nginx 的版本,编译器版本和配置参数
# /usr/local/nginx/sbin/nginx -v
nginx version: nginx/0.8.32
nginx加 –v 参数得到nginx当前版本号。已经为新的nginx版本了
php探针看看也正常了。
整个nginx升级过程结束。