centos

centos nginx更新升级步骤

小樊
80
2025-04-28 20:54:37
栏目: 智能运维

在CentOS系统上更新或升级Nginx的步骤如下:

通过Yum更新Nginx

  1. 备份当前的Nginx配置文件

    sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
    sudo cp -r /etc/nginx/conf.d/ /etc/nginx/conf.d/.bak
    
  2. 编辑Yum仓库配置文件

    • 对于CentOS 7,你可以使用EPEL源:

      sudo yum install epel-release
      
    • 编辑 /etc/yum.repos.d/nginx.repo 文件,添加或更新Nginx源。

  3. 清除缓存并更新Yum包索引

    sudo yum clean all
    sudo yum makecache
    
  4. 查看可升级的Nginx版本

    sudo yum list nginx --showduplicates
    
  5. 升级Nginx到最新版本

    sudo yum install nginx
    
  6. 验证Nginx版本是否升级成功

    nginx -V
    
  7. 重启Nginx服务

    sudo systemctl restart nginx
    

从源码编译升级Nginx

  1. 获取nginx的最新源码版本

    访问 nginx官方网站 下载最新版本的源码包。

  2. 解压源码

    tar -zxvf nginx-x.x.x.tar.gz
    cd nginx-x.x.x
    
  3. 编译并安装

    • 安装编译环境和依赖包:

      sudo yum install make zlib zlib-devel gcc libtool openssl openssl-devel
      
    • 配置编译参数(根据实际情况可能会有所不同):

      ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module ...
      
    • 编译并安装:

      make
      sudo make install
      
  4. 备份旧版本Nginx

    sudo cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
    
  5. 替换二进制文件

    sudo cp objs/nginx /usr/local/nginx/sbin/nginx
    
  6. 测试新版本Nginx

    /usr/local/nginx/sbin/nginx -t
    
  7. 启动新版本Nginx

    sudo /usr/local/nginx/sbin/nginx
    
  8. 向旧的主进程发送 USR2 信号,Nginx 会启动一个新版本的 master 进程和对应工作进程,和旧版一起处理请求:

    kill -USR2 [旧主进程ID]
    
  9. 向旧的Nginx主进程发送 WINCH 信号,它会逐步关闭自己的工作进程,所有请求都会由新版 Nginx 处理:

    kill -WINCH [旧主进程ID]
    
  10. 验证nginx版本号,并访问测试:

    nginx -V
    
  11. 升级完毕,停止旧的主进程

    kill -QUIT [旧主进程ID]
    

请注意,在进行任何升级操作之前,强烈建议备份所有重要的配置文件和数据,以防升级过程中出现问题。

0
看了该问题的人还看了