zoukankan      html  css  js  c++  java
  • [Nginx/Linux]Nginx从1.15.12平滑升级到1.17.5

    1 问题背景

    • nginx 安全漏洞(CVE-2019-9511)
    • nginx 安全漏洞(CVE-2019-9513)
    • nginx 安全漏洞(CVE-2019-9516)
    http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-201908-924
    https://github.com/httpwg/http2-spec/wiki/Implementations
    https://www.sohu.com/a/335416469_120149005 nginx 1.16.1 稳定版和 nginx 1.17.3 主线版发布 修复安全问题
    https://www.nginx.com/blog/nginx-updates-mitigate-august-2019-http-2-vulnerabilities/ Nginx官方的修复建议
    http://nginx.org/en/CHANGES
    https://blog.csdn.net/join_gonner/article/details/109239053 升级nginx的参考博客(仅作思路参考,但不推荐按照此博客的做,该博客存在非常多问题,例如: 直接执行 ./configure)
    
    • 最终结论:升级到 Nginx 1.17.5
    Nginx官方建议:
    http://nginx.org/en/CHANGES
    https://www.nginx.com/blog/nginx-updates-mitigate-august-2019-http-2-vulnerabilities/
    NGINX 1.16.1 (stable) 
    NGINX 1.17.3 (mainline) 
    NGINX Plus R18 P1
    

    2 环境信息

    • 服务器及操作系统版本
    # cat /etc/redhat-release 
    CentOS release 6.8 (Final)
    
    • Nginx原版本
    # ps -ef | grep -i nginx
    root      31044      1  0 Jun04 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
    root      31045  31044  0 Jun04 ?        00:00:02 nginx: worker process      
    root     714299 714269  0 12:33 pts/4    00:00:00 grep -i nginx
    
    # ll /proc/31044 | grep -i CWD
    lrwxrwxrwx 1 root root 0 6月  15 16:52 cwd -> /usr/local/nginx/sbin
    
    # /usr/local/nginx/sbin/nginx -v
    nginx version: nginx/1.15.12
    

    3 升级步骤

    step1 Nginx 备份

    cp -r /usr/local/nginx /usr/local/nginx.202106161252.bak
    mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.202106161252.old.bak
    

    step2 下载、上传、解压Nginx新版本安装包

    下载地址

    http://www.nginx.org/download/nginx-1.17.5.tar.gz
    

    上传安装包到如下指定目录

    mkdir -p /opt/SDCUpgrades/20210615/servers/nginx
    
    /opt/SDCUpgrades/20210615/servers/nginx/nginx-1.17.5.tar.gz
    

    解压

    tar -xvf /opt/SDCUpgrades/20210615/servers/nginx/nginx-1.17.5.tar.gz -C /opt/SDCUpgrades/20210615/servers/nginx/
    

    step3 编译前配置

    cd /opt/SDCUpgrades/20210615/servers/nginx/nginx-1.17.5
    
    ./configure --prefix=/usr/local/nginx 
    --with-http_stub_status_module
    

    【高危警告】 configure的参数必须与 .../sbin/nginx -V中显示的参数一模一样,切记!!

    --conf-path=/usr/local/nginx/conf : 此时不会对 /usr/local/nginx 产生 任何影响;尚不会在 /usr/local/nginx 目录下产生任何文件

    step4 编译(只编译不安装)

    /usr/local/sbin/nginx -s stop
    
    cd /opt/SDCUpgrades/20210615/servers/nginx/nginx-1.17.5
    make
    

    step5 升级(覆盖)

    cp /opt/SDCUpgrades/20210615/servers/nginx/nginx-1.17.5/objs/nginx /usr/local/nginx/sbin/
    

    step6 测试新版本nginx是否正常

    /usr/local/nginx/sbin/nginx -t
    

    step7 如果测试正常,则:立即启动 nginx

    /usr/local/nginx/sbin/nginx
    

    step8 查验版本(确认nginx是否升级成功)

    显示最新编译的版本信息即更新成功

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

    X 参考文献

    赞赏-支付宝二维码
    本文作者千千寰宇
    本文链接 https://www.cnblogs.com/johnnyzen
    关于博文:评论和私信会在第一时间回复,或直接私信我。
    版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
    声援博主:若本文对您有帮助,可点击右下角推荐一下。您的鼓励、【赞赏】(左侧赞赏支付码)是博主技术写作的重要动力!
  • 相关阅读:
    简单的签到日历
    CSS样式命名整理
    Vue 数组中更新属性值后,视图不更新,等待其他元素更新后会触发的解决办法
    linux之cp/scp命令+scp命令详解
    js 进制转换
    博主QQ
    JSP的介绍及语法详解
    通过jdbc连接MySql数据库的增删改查操作
    在JAVA中自定义连接数据库的工具类
    通过sql语句对MySql数据库的基本操作
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/14889047.html
Copyright © 2011-2022 走看看