首页主机资讯nginx如何更新版本

nginx如何更新版本

时间2025-11-17 09:08:04发布访客分类主机资讯浏览392
导读:Nginx版本更新指南 一 升级方式概览 按安装来源选择升级路径:使用包管理器(如 APT/YUM/DNF)最省心;从源码编译可控性更高,适合需要特定模块或自定义路径的场景。 按业务要求选择策略:优先采用平滑升级(不中断连接);如允许短暂...

Nginx版本更新指南

一 升级方式概览

  • 按安装来源选择升级路径:使用包管理器(如 APT/YUM/DNF)最省心;从源码编译可控性更高,适合需要特定模块或自定义路径的场景。
  • 按业务要求选择策略:优先采用平滑升级(不中断连接);如允许短暂停机,可选择快速替换二进制后重启。

二 通过包管理器升级 Ubuntu Debian

  • 备份配置与检查版本
    • 备份:sudo cp -r /etc/nginx /etc/nginx_backup
    • 版本:nginx -vnginx -V
  • 添加官方 Nginx APT 源并升级
    • 导入密钥:curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /etc/apt/keyrings/nginx.gpg
    • 添加源:echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/nginx.gpg] https://nginx.org/packages/ubuntu $(lsb_release -cs) nginx" | sudo tee /etc/apt/sources.list.d/nginx.list > /dev/null
    • 升级:sudo apt update & & sudo apt install nginx
    • 重启:sudo systemctl restart nginx
  • 验证
    • 版本:nginx -v
    • 状态:systemctl status nginx
  • 说明:添加官方源后,后续可直接用 apt upgrade nginx 获取稳定版更新。

三 通过包管理器升级 CentOS RHEL

  • 备份配置与检查版本
    • 备份:sudo cp -r /etc/nginx /etc/nginx_backup
    • 版本:nginx -vnginx -V
  • 使用 YUM/DNF 升级(以已配置 EPEL 或官方 Nginx 源为前提)
    • 升级:sudo yum update nginxsudo dnf upgrade nginx
    • 重启:sudo systemctl restart nginx
  • 验证
    • 版本:nginx -v
    • 状态:systemctl status nginx
  • 说明:若系统仓库版本较旧,可先添加 EPELNginx 官方仓库再执行升级。

四 从源码编译升级 平滑升级与快速替换

  • 准备与检查
    • 查看旧版本与编译参数:/usr/local/nginx/sbin/nginx -V
    • 备份可执行文件与配置:cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
  • 编译新版本(关键:只 make,不要 make install)
    • 下载解压:wget -c https://nginx.org/download/nginx-< 新版本> .tar.gz & & tar -zxvf nginx-< 新版本> .tar.gz
    • 进入目录并复用旧参数:./configure < 旧版本的 configure 参数>
    • 编译:make(生成于 objs/nginx
  • 平滑升级(推荐,零或极少中断)
    • 替换二进制:cp objs/nginx /usr/local/nginx/sbin/
    • 在源码目录执行:make upgrade(会执行 nginx -t 并优雅切换)
    • 验证:/usr/local/nginx/sbin/nginx -V
  • 快速替换(允许短暂停机)
    • 停止旧进程:/usr/local/nginx/sbin/nginx -s stop
    • 替换二进制:cp objs/nginx /usr/local/nginx/sbin/
    • 启动新进程:/usr/local/nginx/sbin/nginx
    • 验证:/usr/local/nginx/sbin/nginx -V
  • 回滚
    • 快速回滚:cp /usr/local/nginx/sbin/nginx.old /usr/local/nginx/sbin/nginx & & /usr/local/nginx/sbin/nginx
    • 平滑回滚:在旧版源码目录执行 make upgrade(会切回旧二进制)

五 回滚与安全加固

  • 回滚要点
    • 保留旧二进制(如 nginx.old),必要时直接替换并启动;或从旧版源码目录执行 make upgrade 切回。
  • 安全加固建议
    • 隐藏版本信息:在 nginx.confhttp 块设置 server_tokens off;
    • 仅启用必要模块:编译时剔除不需要的模块(如 --without-http_autoindex_module
    • 强化 SSL/TLS:启用 TLS 1.2/1.3,使用强加密套件,配置 ssl_protocolsssl_ciphersssl_prefer_server_ciphers
    • 限制请求方法:如 if ($request_method !~ ^(GET|HEAD|POST)$ ) { return 444; }
    • 定期更新与审计:关注官方安全公告,定期测试与扫描配置

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: nginx如何更新版本
本文地址: https://pptw.com/jishu/748620.html
nginx如何负载均衡 Ubuntu Stream 8的未来发展预测

游客 回复需填写必要信息