蒙面人生蒙面人生

Nginx 平滑升级方法

因为最近nginx作者指出nginx一直以来都存在一个安全漏洞,因此今天升级了nginx
当前nginx最新稳定版本为0.765所以就选择了他
首先查看自己当前nginx的版本
[root@unixhater ~]# cd /usr/local/nginx/ #注意你的nginx路径
[root@unixhater nginx]# sbin/nginx -V #查看版本
nginx version: nginx/0.7.59
built by gcc 4.1.2 20080704 (Red Hat 4.1.2-44)
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module #注意这里的编译项

下载nginx 0.7.65版本到指定目录,然后解压,进入解压目录,
cd /usr/src
wget http://sysoev.ru/nginx/nginx-0.7.65.tar.gz
tar zxvf nginx-0.7.65.tar.gz
cd nginx-0.7.65

------
如果要更改header信息的话,

vi src/core/nginx.h

#define NGINX_VERSION "0.7.65"
#define NGINX_VER "nginx/" NGINX_VERSION

上面的版本号和nginx自己修改
-------

编译
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_sub_module

make

切记不要make install

备份nginx 原文件
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

复制编译make后的文件覆盖nginx原文件
cp objs/nginx /usr/local/nginx/sbin/nginx

检测nginx文件配置
/usr/local/nginx/sbin/nginx -t

看到
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful 表示配置没问题

跟着启动新的nginx
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`

退出旧的nignx
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`

就这样,升级结束。

再看看nginx版本
cd /usr/local/nginx/
sbin/nginx -V

nginx version: nginx/0.7.65
built by gcc 4.1.2 20080704 (Red Hat 4.1.2-46)
TLS SNI support disabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module
升级完全成功.

本原创文章未经允许不得转载 | 当前页面:蒙面人生 » Nginx 平滑升级方法

评论