如何升级nginx

最近爆发了Nginx range 过滤器整形溢出漏洞,而服务器的nginx是1.9的,在漏洞波及范围,因此需要升级nginx到最新的1.13以修改漏洞

流程

  • 获取编译参数
  • 获取最新版源码
  • 配置编译
  • 替换升级

动手

1.首先通过调用旧版本的nginx命令 nginx -V 来获取原有版本的有哪些指定的编译参数。

[root@vm1 nginx-1.8.1]# ./sbin/nginx -V
nginx version: nginx/1.8.1
built by gcc 4.x.x 20xxxxxx (Red Hat 4.1) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/opt/nginx-1.8.1 --with-http_ssl_module

通过nginx -V可以看出我的旧版本nginx的编译配置参数是 --prefix=/opt/nginx-1.8.1 --with-http_ssl_module

2.接下来就是下载解压最新版本的nginx,配置刚刚拿到的旧版本的配置参数

[root@vm1 nginx-1.13.6]#./configure --prefix=/opt/nginx-1.8.1 --with-http_ssl_module
[root@vm1 nginx-1.13.6]# make

3.make完成之后我们就该备份旧版本nginx,并且将新版本的nginx拿来替换

[root@vm1 sbin]# mv ./nginx ./nginx.old
[root@vm1 nginx-1.13.6]# cp nginx  旧nginx所在目录/sbin

4.替换完成之后,直接执行nginx upgrade进行升级

[root@vm1 nginx-1.13.6]# make upgrade

5.如果没有报错提示那就说明升级成功了,而且也可以使用 nginx -V来查看版本信息

到此,咱们的nginx就升级完成了。

你可能感兴趣的:(如何升级nginx)