2012年3月

一直用的0.7.x的版本,今天升级到最新版1.0.14,记录如下

首先下载二进制文件 wget http://nginx.org/download/nginx-1.0.14.tar.gz

解压 tar -zxvf nginx-1.0.14.tar.gz 同目录下产生同名文件夹

cd nginx-1.0.14.tar.gz

察看原来的配置 /usr/local/nginx/sbin/nginx -V 注意是大写的V

nginx version: nginx/0.7.6.x

built by gcc 4.1.2 20080704 (Red Hat 4.1.2-48)

TLS SNI support disabled

configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module 这里省去两个参数

拷贝你的红色字体的安装配置参数

安装配置:# ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module

中途提示缺少pcre配置,图省事,直接yum安装

yum -y install pcre-devel

yum -y install pcre-devel openssl openssl-devel

然后make但是不要make install

编译完,在objs目录下有一个nginx执行文件,备份下原来老的nginx文件:

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

复制新文件

cp objs/nginx /usr/local/nginx/sbin/nginx

检测一下是否正常读取配置文件

/usr/local/nginx/sbin/nginx -t

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

显示没有问题。

执行命令完成升级: make upgrade 会有如下输出

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

kill -USR2 cat /usr/local/nginx/logs/nginx.pid

sleep 1

test -f /usr/local/nginx/logs/nginx.pid.oldbin

kill -QUIT cat /usr/local/nginx/logs/nginx.pid.oldbin

检查版本是否已经更新:/usr/local/nginx/sbin/nginx -V

nginx version: nginx/1.0.14

TLS SNI support disabled

还有一行是你的编译参数

至此,升级完成.