要做一个WebSocket的应用,Nginx自V1.3.13版本开始支持WebSocket,但服务器还是1.2.5版,升级是必须的。为了尽可能小的对服务器站点造成影响,选择了升级安装Nginx。
1. 下载最新版本的Nginx
本文编写日期Nginx的最新稳定版是V1.8.0,使用wget
命令下载。
wget http:///download/nginx-1.8.0.tar.gz
2. 查看原来Nginx的配置
nginx -V
Nginx安装时配置的不同,使用以上命令的输出也会有所区别,我的服务器命令输出如下:
nginx version: nginx/1.2.5 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) TLS SNI support enabled configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_gzip_static_module
3. 编译新版本的Nginx
3.1 解压下载文件
tar -xzvf nginx-1.8.0.tar.gz
3.2 配置编译参数
在上面操作中configure arguments
后面就是原Nginx的编译参数,编译前和原版本一样进行配置。
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_gzip_static_module
3.3 编译Nginx
执行make编译命令
make
4. 升级安装
编译完成后,会在当前目录(源代码目录)下的objs目录下生成nginx的执行文件。将新生成的执行文件替换原文件,即可完成升级。替换前,应该先备份旧文件。
4.1 备份旧程序
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
4.2 复制新编译的执行文件到Nginx目录
cp objs/nginx /usr/local/nginx/sbin/nginx
4.3 重启Nginx完成升级
/usr/local/nginx/sbin/nginx -s reload
4.4 检查升级情况
# nginx -v nginx version: nginx/1.8.0
版本号已变成1.8.0
,升级成功。