nginx平滑升级

一、下载最新版本的nginx包

进入nginx官网查看最新版本的nginx

wget http://nginx.org/download/nginx-X.XX.X.tar.gz

二、解压编译

解压压缩包 tar-zxvf nginx-X.XX.X.tar.gz

准备 cd nginx-X.XX.X

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module

编译 make

三、替换nginx

执行完编译之后,不执行安装操作。直接替换原文件中的nginx启动文件。

安全起见,先将原来的启动文件备份。 mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

复制编译后的启动文件到目录sbin下。 cp ./objs/nginx /usr/local/nginx/sbin/

四、升级

首先,测试一下复制过来的文件的生效情况。 /usr/local/nginx/sbin/nginx -t

如果看到 successful 则代表没问题,可以重启nginx服务进行平滑的升级了。

如果出现 nginx: [emerg] the "ssl" parameter requires ngx_http_v2_module in /usr/local/nginx/conf/nginx.conf :32 说明是在准备工作是缺少了依赖配置,应重新从./configure开始。要在./configure后加上--with-http_v2_module的依赖。相似错误同理

如果出现XX no such file。找不到相关文件,则要去nginx.conf重新配置路径。

五、验证

升级完成之后可以通过 /usr/local/nginx/sbin/nginx -v 来查看nginx的版本是否已成功升级。