Linux下升级Nginx版本(平滑&详细)

起因:服务器所用nginx是1.19.2版本扫出来存在安全隐患。需要我们升级到1.20.0以上
在这里插入图片描述
cd /usr/local/ 一般我们的nginx会在这里, 当然这不是绝对的也可能是你自定义的路径。

1、下载新版本 这里用1.21.1

wget -c http://nginx.org/download/nginx-1.21.1.tar.gz

2、解压

tar zxvf nginx-1.21.1.tar.gz

3、备用一下旧版本以防意外(我的旧版本是1.19.2版本)

cp -r  nginx-1.19.2 ./nginx-1.19.2.bak

4、到旧版本的sbin下看执行./nginx -V
cd /usr/local/nginx-1.19.2/sbin (这是我的旧版本的路径) 下图可以看到我的旧版本信息。红线指的东西等会儿要用到
在这里插入图片描述
查看完旧版本信息可以执行如下命令,给旧版本改个名

mv ./nginx ./nginx.old

5、编译新版本–1.切到新版本下 2.执行编译命令
(这里要注意, 编译新版本时的路径是和旧版本一致的 如上图 然后在最后加了&&make)

cd /usr/local/nginx-1.21.1
./configure --prefix=/usr/local/nginx-1.19.2 --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-pcre&&make

6.把编译后的新版nginx复制到旧版本的sbin下

cd /usr/local/nginx-1.19.2/sbin
cp /usr/local/nginx-1.21.1/objs ./

复制过来后 执行下**./nginx -t** 测试一下
在这里插入图片描述
出现这个ok 和 successful说明我们的新版本文件可以正常执行
7.升级新版本
将旧版本nginx的pid改为nginx.pid.oldbin
cd /usr/local/nginx-1.19.2/logs/

kill -USR2 `cat  /usr/local/nginx-1.19.2/logs/nginx.pid`
--此时执行ll 可以看到多了一个nginx.pid.oldbin文件
ls -lit nginx.pid.oldbin
----退化旧版本
kill -QUIT  `cat /usr/local/nginx-1.19.2/logs/nginx.pid.oldbin`

8.这时可以查看下版本号(完成升级)

 /usr/local/nginx-1.19.2/sbin/nginx -V

在这里插入图片描述

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值