Nginx无缝升级 平滑升级更新

# wget http://nginx.org/download/nginx-0.8.32.tar.gz

下载了最新的工程版nginx,个人vps了。一直用的最新的呵~

# tar zxvf nginx-0.8.32.tar.gz

解压

# cd nginx-0.8.32

进入解压后的目录
# ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

按照你以前自己配置的参数执行./configure。以上是自己的配置参数

# make

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目录

# /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

整个升级过程就完成了。然后升级是否成功。

-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升级过程结束。

1 评论

发表回复