因为最近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
升级完全成功.