当前位置: 首页 > news >正文

Linux环境安装Nginx及版本升级指南

Linux环境安装Nginx及版本升级指南

一、安装Nginx

1. 安装前准备

# 更新系统软件包(Ubuntu/Debian)
sudo apt update && sudo apt upgrade -y

# CentOS/RHEL
sudo yum update -y

2. 安装依赖库

# Ubuntu/Debian
sudo apt install -y curl wget build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev

# CentOS/RHEL
sudo yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

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

Ubuntu/Debian
# 添加官方仓库
sudo apt install -y curl gnupg2
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /usr/share/keyrings/nginx-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list

# 安装Nginx
sudo apt update
sudo apt install -y nginx
CentOS/RHEL
# 创建仓库文件
vi /etc/yum.repos.d/nginx.repo

# 输入以下内容:
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

# 安装
sudo yum install -y nginx

4. 验证安装

# 查看版本
nginx -v

# 启动服务
sudo systemctl start nginx
sudo systemctl enable nginx

# 检查状态
systemctl status nginx

# 访问测试
curl http://localhost

二、Nginx版本升级

方法1:通过包管理器升级

Ubuntu/Debian
sudo apt update
sudo apt install --only-upgrade nginx
CentOS/RHEL
sudo yum update nginx

方法2:手动编译升级(适用于自定义安装)

# 下载最新版
wget https://nginx.org/download/nginx-1.25.3.tar.gz
tar -zxvf nginx-*.tar.gz
cd nginx-1.25.3

# 停止旧服务
sudo systemctl stop nginx

# 配置编译参数(需与原配置一致)
./configure [原配置参数]  # 使用 `nginx -V` 查看原有参数

# 编译安装
make
sudo make install

# 验证新版本
/usr/local/nginx/sbin/nginx -v

# 启动服务
sudo systemctl start nginx

方法3:平滑升级(零停机)

# 1. 备份旧二进制文件
sudo cp /usr/sbin/nginx /usr/sbin/nginx.old

# 2. 编译新版本(参考方法2步骤)
# 3. 替换二进制文件
sudo cp objs/nginx /usr/sbin/nginx

# 4. 发送USR2信号给主进程
sudo kill -USR2 `cat /run/nginx.pid`

# 5. 退出旧worker进程
sudo kill -QUIT `cat /run/nginx.pid.oldbin`

三、注意事项

  1. 配置文件备份
    sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
    
  2. 检查配置文件语法
    sudo nginx -t
    
  3. 防火墙设置
    sudo ufw allow 80/tcp  # Ubuntu
    sudo firewall-cmd --permanent --add-port=80/tcp  # CentOS
    

四、常见问题解决

  1. 端口冲突
    检查占用端口:sudo ss -tulnp | grep :80

  2. 服务启动失败
    查看日志:journalctl -u nginx -b

  3. 模块缺失
    重新编译时添加所需模块:./configure --with-http_ssl_module


通过以上步骤,您可以轻松完成Nginx的安装和版本升级。建议生产环境优先使用包管理器升级方式以确保稳定性。如果有定制化需求,推荐使用平滑升级方案。


相关文章:

  • 自学微信小程序的第八天
  • 深入解析 Kubernetes CRD:原理、特点与典型应用场景
  • 苍穹外卖-阿里云OSS文件上传
  • 行业智能体构建的关键技术与实践路径探索
  • 【AD】3-6 层次原理图
  • day01_Java基础
  • 【AD】3-8 原理图封装批量化添加与完整性检查
  • 构建安全的Docker基础镜像:从最佳实践到自动化加固
  • 【弹性计算】弹性裸金属服务器和神龙虚拟化(一):功能特点
  • 网络安全等级保护:网络安全等级保护基本技术
  • 大模型微调入门(Transformers + Pytorch)
  • 7.2 - 定时器之计算脉冲宽度实验
  • Kotlin协变与逆变区别
  • 网络安全完成mysql加固
  • [Web 安全] PHP 反序列化漏洞 —— POP 链构造思路
  • YOLOv11-ultralytics-8.3.67部分代码阅读笔记-VOC.yaml
  • 目录遍历文件包含测试
  • 精品整理-2025 DeepSeek核心技术解析与实践资料合集(24份)
  • 类中的流操作符的重载
  • Python 数据可视化(一)熟悉Matplotlib
  • 如何用office做网站/seo优化排名软件
  • 静态网站开发实训报告/整合营销是什么
  • 设计素材网站能挣钱吗/谷歌外贸
  • 重庆低价网站建设/网络科技公司网站建设
  • 网页美工设计中职期末试卷/seo整站排名
  • 平台建站建设/综合性b2b电子商务平台网站