插件窝 干货文章 Nginx服务安装及软件升级的方法

Nginx服务安装及软件升级的方法

Nginx sudo 升级 安装 484    来源:    2025-04-22

Nginx服务安装及升级方法指南

一、Nginx安装方法

1. 通过包管理器安装(推荐)

Ubuntu/Debian系统

# 更新软件包索引
sudo apt update

# 安装Nginx
sudo apt install nginx

# 启动Nginx服务
sudo systemctl start nginx

# 设置开机自启
sudo systemctl enable nginx

CentOS/RHEL系统

# 添加EPEL仓库(CentOS/RHEL 7)
sudo yum install epel-release

# 安装Nginx
sudo yum install nginx

# 启动Nginx服务
sudo systemctl start nginx

# 设置开机自启
sudo systemctl enable nginx

2. 从源码编译安装(适合自定义需求)

# 安装依赖
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev

# 下载最新稳定版
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 \
            --with-http_v2_module \
            --with-http_realip_module

# 编译并安装
make
sudo make install

# 启动Nginx
/usr/local/nginx/sbin/nginx

二、Nginx升级方法

1. 使用包管理器升级

Ubuntu/Debian

sudo apt update
sudo apt upgrade nginx
sudo systemctl restart nginx

CentOS/RHEL

sudo yum update nginx
sudo systemctl restart nginx

2. 二进制替换升级(适合源码安装)

# 备份旧版本
sudo cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old

# 下载新版本并编译
wget http://nginx.org/download/nginx-<new_version>.tar.gz
tar -zxvf nginx-<new_version>.tar.gz
cd nginx-<new_version>
./configure [原编译参数]
make

# 替换二进制文件
sudo cp objs/nginx /usr/local/nginx/sbin/

# 测试新版本
sudo nginx -t

# 平滑升级
sudo kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
sleep 1
sudo kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`

3. 平滑升级(零停机时间)

# 1. 发送USR2信号通知旧进程准备升级
sudo kill -USR2 `cat /var/run/nginx.pid`

# 2. 发送WINCH信号让旧进程优雅关闭worker进程
sudo kill -WINCH `cat /var/run/nginx.pid.oldbin`

# 3. 测试新版本运行正常后,关闭旧进程
sudo kill -QUIT `cat /var/run/nginx.pid.oldbin`

三、验证安装/升级

# 检查Nginx版本
nginx -v

# 检查编译参数
nginx -V

# 检查配置文件语法
nginx -t

# 查看运行状态
systemctl status nginx

四、注意事项

  1. 升级前务必备份重要配置文件(通常位于/etc/nginx/或/usr/local/nginx/conf/)
  2. 生产环境建议先在测试环境验证升级
  3. 平滑升级时确保新旧版本的配置文件兼容
  4. 使用源码升级时,建议保留原编译参数(可通过nginx -V查看)
  5. 升级后检查所有功能是否正常,特别是自定义模块

如需更详细的安装或升级指导,请提供您的具体操作系统版本和Nginx使用场景。