目前使用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

聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏