centos

centos nginx更新维护最佳实践

小樊
50
2025-09-03 19:38:50
栏目: 智能运维

一、更新前准备

  1. 备份关键数据
    • 备份Nginx配置文件:sudo cp -r /etc/nginx /etc/nginx.bak
    • 备份网站数据:sudo cp -r /var/www/html /var/www/html.bak
    • 备份SSL证书:sudo cp -r /etc/ssl /etc/ssl.bak
  2. 检查系统环境
    • 确认系统版本及内核:cat /etc/redhat-releaseuname -r
    • 安装依赖工具:sudo yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

二、更新操作

方案一:使用YUM包管理器(推荐)

  1. 更新仓库配置
    • 安装EPEL仓库(如需较新版本):sudo yum install epel-release
    • 或添加Nginx官方仓库:
      sudo tee /etc/yum.repos.d/nginx.repo <<EOF  
      [nginx-stable]  
      name=nginx stable repo  
      baseurl=http://nginx.org/packages/centos/\$releasever/\$basearch/  
      gpgcheck=1  
      enabled=1  
      EOF  
      
  2. 执行升级
    • 升级Nginx:sudo yum update nginx
    • 若需指定版本:sudo yum install nginx-<version>
  3. 重启服务
    • 重启Nginx并验证状态:
      sudo systemctl restart nginx  
      sudo systemctl status nginx  
      sudo nginx -t  # 检查配置文件语法  
      

方案二:手动编译安装(需特定版本时)

  1. 下载源码并编译
    • 下载指定版本源码:wget http://nginx.org/download/nginx-<version>.tar.gz
    • 编译安装:
      tar -zxvf nginx-<version>.tar.gz  
      cd nginx-<version>  
      ./configure --prefix=/usr/local/nginx --with-http_ssl_module  
      make && sudo make install  
      
  2. 切换版本
    • 备份旧版本二进制文件:sudo cp /usr/sbin/nginx /usr/sbin/nginx.old
    • 替换为新版本并重启:
      sudo cp objs/nginx /usr/sbin/nginx  
      sudo kill -USR2 $(cat /run/nginx.pid)  # 平滑升级  
      sudo kill -QUIT $(cat /run/nginx.pid.oldbin)  
      

三、更新后验证

  1. 功能验证
    • 访问网站确认服务正常,检查SSL证书是否生效。
    • 查看Nginx版本:nginx -v,确认更新成功。
  2. 日志监控
    • 分析错误日志:tail -f /var/log/nginx/error.log,排查异常。

四、维护建议

  1. 定期备份
    • 每周备份配置文件和网站数据,使用cron自动化:
      crontab -e  
      0 2 * * * tar -czvf /backup/nginx_$(date +%Y%m%d).tar.gz /etc/nginx /var/www/html  
      
  2. 安全加固
    • 定期更新系统补丁:sudo yum update
    • 限制Nginx访问权限,关闭不必要的模块。
  3. 性能优化
    • 根据服务器负载调整worker_processesworker_connections参数。

参考来源

0
看了该问题的人还看了