CentOS下Nginx平滑升级

目前使用Nginx来当做Web服务的网站越来越多,而Nginx的版本更新速度也很快。想要使用最新的功能或者修复漏洞,就面临着升级问题。

0x00 下载Nginx

我的博客一直使用的是淘宝的Tengine,所以这边直接下载了最新版Tengine

下载版本大家可以去官网查找:Tengine

 

0x01  编译Nginx

编译Nginx前,可以先查看下之前的编译命令,然后在这个参数的基础上加上本次编译想新增的参数即可。


$ nginx -V

Tengine version: Tengine/2.3.1

nginx version: nginx/1.16.0

built by gcc 4.4.7 20120313 (Red Hat 4.4.7-23) (GCC)

built with OpenSSL 1.0.2g 1 Mar 2016

TLS SNI support enabled

configure arguments: --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 --add-module=../ngx_cache_purge --with-http_v2_module --with-openssl=../openssl-1.0.2g

从返回参数看,可以知道使用的是Tengine的2.3.1版本,也是nginx的1.16.0版本。configure arguments后面跟的就是之前编译的参数,需要注意的是参数中有../xxx这种路径,必须保证相对路径里存在对应的模块或者直接使用绝对路径

--with-http_v2_module是开启支持http2,建议启用了HTTPS网站都开启支持http2

 

接下去操作就很简单了,解压、编译、平滑升级


#解压

$ tar -zxvf tengine-2.3.1.tar.gz

$ cd tengine-2.3.1

#编译

$ ./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 --add-module=../ngx_cache_purge --with-http_v2_module --with-openssl=../openssl-1.0.2g

#编译完成后没有报错就直接运行make命令

$ make

#备份nginx二进制文件

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

#替换nginx二进制文件

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

#执行升级命令

$ make upgrade

weinxin
聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: