0%

nginx版本升级步骤

nginx/openresty版本升级


nginx和openresty升级方式大同小异,这里以openresty为例介绍openresty平滑升级的详细操作方法

1. 查看nginx当前版本以及编译参数

1
2
3
root@yunwei:~# /usr/local/openresty/nginx/sbin/nginx -V
nginx version: openresty/1.11.2.1
configure arguments: --prefix=/usr/local/openresty/nginx

2. 下载最新版本nginx,解压

1
2
3
root@yunwei:~# wget https://openresty.org/download/openresty-1.11.2.4.tar.gz -O /tmp/openresty-1.11.2.4.tar.gz
root@yunwei:~# cd /tmp/
root@yunwei:/tmp# tar -xzvf openresty-1.11.2.4.tar.gz

3. 编译openresty

1
2
root@yunwei:/tmp# cd openresty-1.11.2.4/
root@yunwei:/tmp/openresty-1.11.2.4# ./configure --prefix=/usr/local/openresty --with-luajit --with-http_iconv_module --with-http_stub_status_module --add-module=../ngx_dynamic_upstream-master -j6 && make -j6

注意:不要进行make install,这里的编译参数要与原环境编译参数一致,否则可能引起服务启动失败

4. 找到编辑的二进制命令,测试能否执行

1
2
3
4
root@yunwei:/tmp/openresty-1.11.2.4# ls build/nginx-1.11.2/objs/nginx
build/nginx-1.11.2/objs/nginx
root@yunwei:/tmp/openresty-1.11.2.4# build/nginx-1.11.2/objs/nginx -v
nginx version: openresty/1.11.2.4

5. 备份旧版本的nginx文件

1
root@openresty-japi-write01:~# cp /usr/local/openresty/nginx/sbin/nginx /tmp/nginx.bak

6. 使用编译生成的二进制nginx文件,升级生产环境版本

1
2
3
root@yunwei:/tmp/openresty-1.11.2.4# install build/nginx-1.11.2/objs/nginx /usr/local/openresty/nginx/sbin/nginx
root@yunwei:/tmp/openresty-1.11.2.4# /usr/local/openresty/nginx/sbin/nginx -v
nginx version: openresty/1.11.2.4

7. 在不影响生产环境的情况下重启nginx服务,才能生效

1
2
3
4
5
6
root@yunwei:~# /usr/local/openresty/nginx/sbin/nginx -s stop
root@yunwei:~# /usr/local/openresty/nginx/sbin/nginx
root@yunwei:~# curl -I 127.0.0.1:8081
HTTP/1.1 404 Not Found
Server: openresty/1.11.2.4
Date: Thu, 13 Jul 2017 08:34:35 GMT

8. 最后检查日志是否正常

1
root@yunwei:~# tailf /data/nginx/log/access.log