码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Nginx 平滑升级方案 1.21.0升级至1.23.2


    因 nginx发现漏洞、需 Nginx 的版本进行更新,需要用到Nginx服务器提供的平滑升级功能。本文仅做备忘功能。

    一、查看已安装的 Nginx 版本信息,configure 配置信息

    ## nginx 目录
    /usr/local/nginx/sbin/nginx -V
    
    • 1
    • 2

    如图所示,得到 configure 的配置信息。
    configure 参数

    二、下载当前最新版本 nginx-1.23.2,并通过Xftp上传至服务器,然后执行解压命令。

    Nginx 最新下载地址:https://nginx.org/en/download.html

    tar -zxvf nginx-1.23.2.tar.gz
    
    • 1

    三、对新版 nginx 进行配置。

    ### 参数与老版本参数保持一致
    cd nginx-1.23.2
    ./configure  --prefix=/usr/local/nginx --with-http_ssl_module
    
    • 1
    • 2
    • 3

    四、进行 make 编译

    make 
    
    • 1

    切记千万不要输入 make install

    切记千万不要输入 make install

    切记千万不要输入 make install

    最新版本nginx的目录下会多出来一个objs目录,里面是新的 Nginx二进制文件,make install 的作用就是将二进制文件拷贝到指定的目录。
    objs目录

    五、对老版本 sbin 目录下的 nginx 进行备份:

    mv /usr/local/nginx/sbin/nginx   /usr/local/nginx/sbin/nginx.old
    
    • 1

    六、将步骤四中编译好的 objs 目录下的 nginx 二进制文件,复制到 /usr/local/nginx/sbin 目录。

    cp /apprun/nginx-1.23.2/objs/nginx   /usr/local/nginx/sbin/nginx
    
    • 1

    七、make upgrade 命令升级

    make upgrade
    
    • 1

    PS: 不用make upgrade 命令升级可以采用服务信号升级 ,服务信号升级方案不做阐述。原理基本与upgrade方案一致,可以查看步骤七中 执行make upgrade 命令的标准输出中,也是通过执行以下服务信号命令进行的相关升级操作。

    ## 测试Nginx配置是否正确
    /usr/local/nginx/sbin/nginx -t
    ## 发送信号 USR2 给 Nginx 的Old版本对应的 master 进程。
    kill -USR2 `cat /usr/local/nginx/logs/nginx.pid
    ### 检查 Nginx 的Old版本的进程文件是否存在 
    test -f /usr/local/nginx/logs/nginx.pid.oldbin
    ### 关闭旧版本的Nginx进程
    kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    八 、检查升级后的版本

    /usr/local/nginx/sbin/nginx  -V
    
    • 1
  • 相关阅读:
    2022年天猫双11购物节,10月24日晚8点预售来袭
    【图论】树链剖分
    Shiro 权限绕过漏洞(CVE-2020-1957)
    【Flutter 面试题】解释 Flutter的热重载(Hot Reload)功能
    使用Node.js连接和查询数据库
    0基础学习VR全景平台篇 第96篇:VR电子楼书
    【Linux学习】基础IO
    java毕业设计青少年心理健康教育平台演示录像2020源码+lw文档+mybatis+系统+mysql数据库+调试
    Linux学习笔记8
    将base64格式的图片画到canvas上(js和vue两种)
  • 原文地址:https://blog.csdn.net/lw0328/article/details/127672692
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号