linux的nginx版本升级

一、查看 Linux 发行版信息(最常用)

查看 /etc/os-release(推荐,标准方式)

运行以下命令:

复制代码
cat /etc/os-release

🔍 ​输出示例(以 OpenCloudOS 为例):​

复制代码
NAME="OpenCloudOS"
VERSION="9.2"
ID="opencloudos"
ID_LIKE="rhel fedora"
VERSION_ID="9.2"
PLATFORM_ID="platform:oc9"
PRETTY_NAME="OpenCloudOS 9.2"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:opencloudos:opencloudos:9.2"
HOME_URL="https://www.opencloudos.org/"
BUG_REPORT_URL="https://bugs.opencloudos.org/"

🔎 你可以从中看到:

  • 系统名称(NAME)​ :比如 OpenCloudOSCentOSUbuntu
  • 版本号(VERSION 或 VERSION_ID)​ :比如 9.2
  • ID :比如 opencloudoscentosrhelubuntu
  • 是否兼容其它系统(ID_LIKE)​ :比如 rhel fedora 表示兼容 RHEL/Fedora

将当前 Ubuntu 22.04 系统上的 Nginx 从 1.18.0 升级到最新稳定版(如 1.27.x)​


🧩 当前情况回顾(根据你之前的反馈):

  • 操作系统:Ubuntu 22.04.5 LTS(Jammy Jellyfish)✅
  • 包管理器apt(不是 yum/dnf)✅
  • 当前 Nginx 版本1.18.0-6ubuntu14.7(来自 Ubuntu 官方源,稳定但较旧)✅
  • 已安装的 Nginx 相关包
    • nginx ------ 主包,版本 1.18.0
    • nginx-corenginx-common
    • 以及一堆官方模块:libnginx-mod-*
  • 你希望升级到:最新稳定版 Nginx(比如 1.27.x)​

⚠️ 重要说明:

Ubuntu 官方源(如 jammy-updates)中的 Nginx 版本通常是较旧的稳定分支(比如 1.18.x),不会自动更新到最新主线稳定版(比如 1.27.x)。​

如果你想安装或升级到 Nginx 官方最新的稳定版,必须添加 Nginx 官方维护的 APT 软件源!​


✅ 解决方案:添加 ​Nginx 官方 APT 源 ,然后安装/升级到 ​最新稳定版

Nginx 官方为 Ubuntu 提供了专门的软件源,里面的版本比 Ubuntu 默认源新得多,而且是 ​官方维护、安全、稳定​ 的。


✅ 一、升级步骤(详细 & 安全,适用于 Ubuntu 22.04)


🔧 步骤 1:安装必要的工具(用于导入官方 GPG 密钥)

运行以下命令,确保你有 curlgnupg2 和 Ubuntu 的 keyring 工具:

复制代码

bash

复制

复制代码
sudo apt update
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring -y

🔐 步骤 2:导入 Nginx 官方 GPG 密钥

复制代码

bash

复制

复制代码
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor \
    | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

这会将 Nginx 官方的签名密钥导入系统,用于验证软件包来源,确保安全。


📥 步骤 3:添加 Nginx 官方 APT 软件源

运行以下命令,创建一个新的源列表文件:

复制代码

bash

复制

复制代码
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

🔍 说明:

  • $(lsb_release -cs) 会自动展开为你的 Ubuntu 版本代号,比如 jammy(就是 22.04)
  • 这条命令会添加一个 仅包含 nginx 相关包的源,不会影响你系统其它软件包
  • 该源地址是:http://nginx.org/packages/ubuntu/jammy/nginx

🔄 步骤 4:更新 APT 软件包缓存

复制代码

bash

复制

复制代码
sudo apt update

🔍 步骤 5:查看可用的 Nginx 版本

运行以下命令,查看现在有哪些版本的 nginx 可供安装:

复制代码

bash

复制

复制代码
apt list -a nginx

🔒 你应该会看到类似如下的输出:

复制代码

markdown

复制

复制代码
nginx/jammy 1.18.0-6ubuntu14.7 amd64 [已安装]
nginx/jammy 1.27.1-1~jammy nginx

或:

复制代码

markdown

复制

复制代码
nginx/jammy 1.27.1-1~jammy nginx  <-- 最新稳定版
nginx/jammy,now 1.18.0-6ubuntu14.7 amd64 [已安装]

✅ 重点关注带有 nginx 后面版本号较高的那一个,比如 1.27.1-1~jammy,这就是 ​Nginx 官方的最新稳定版!​


⬆️ 步骤 6:升级(或安装)最新稳定版 Nginx

运行以下命令,让 apt 自动升级到可用的最新 nginx 版本(来自你刚添加的官方源):

复制代码

bash

复制

复制代码
sudo apt install nginx

⚠️ 如果你已经安装了 nginx(如你之前已经装了 1.18.0),这个命令会 ​自动升级到较新的可用版本(比如 1.27.1)​ ,前提是它来自 nginx.org 的源。

或者,你也可以明确指定升级:

复制代码

bash

复制

复制代码
sudo apt --only-upgrade install nginx

✅ 步骤 7:验证 Nginx 是否升级成功

① 检查 Nginx 版本

复制代码

bash

复制

复制代码
nginx -v

你应该会看到类似:

复制代码

markdown

复制

复制代码
nginx version: nginx/1.27.1

🎉 恭喜!说明你已经升级到了 ​Nginx 官方最新稳定版


② 检查 Nginx 运行状态

复制代码

bash

复制

复制代码
sudo systemctl status nginx

确保状态是:

复制代码

markdown

复制

复制代码
active (running)

如果未运行,可以启动:

复制代码

bash

复制

复制代码
sudo systemctl start nginx

并设置开机自启(如果还没设置):

复制代码

bash

复制

复制代码
sudo systemctl enable nginx

③ 访问你的网站

打开浏览器,访问你的服务器 IP:

复制代码

markdown

复制

复制代码
http://你的服务器IP

如果一切正常,你应该依然能看到 Nginx 的欢迎页面(或你的站点),​服务没有中断,功能一切正常!​


✅ 步骤 8(可选):移除旧源或清理(一般不需要)

你无需移除 Ubuntu 默认的 nginx 源,因为 APT 会优先使用 /etc/apt/sources.list.d/nginx.list 中的源(因为它明确提供了更高版本)。

但你可以随时查看当前 nginx 来自哪个源:

复制代码

bash

复制

复制代码
apt policy nginx

输出中会显示类似:

复制代码

markdown

复制

复制代码
nginx:
  已安装:1.27.1-1~jammy
  候选版本:1.27.1-1~jammy
  版本列表:
     1.27.1-1~jammy 500
        500 http://nginx.org/packages/ubuntu jammy nginx amd64 Packages
     1.18.0-6ubuntu14.7 500
        500 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu jammy-security/main amd64 Packages

你会看到 ​1.27.1 来自 nginx 官方源,优先级更高,已被安装 ✅


✅ 总结:升级到最新稳定版 Nginx(Ubuntu 22.04)的操作流程

步骤 操作 命令
1 安装必要工具 sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring -y
2 导入 Nginx 官方 GPG 密钥 `curl -fsSL https://nginx.org/keys/nginx_signing.key
3 添加 Nginx 官方 APT 源 `echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/ubuntu $(lsb_release -cs) nginx"
4 更新软件包列表 sudo apt update
5 查看可用 nginx 版本 apt list -a nginx
6 升级到最新版 nginx sudo apt install nginxsudo apt --only-upgrade install nginx
7 检查版本 nginx -v
8 检查运行状态 sudo systemctl status nginx

✅ 你现在可以立即执行的完整升级命令(一键复制版)

复制代码

bash

复制

复制代码
# 1. 安装必要工具
sudo apt update
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring -y

# 2. 导入 Nginx 官方 GPG 密钥
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor \
    | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

# 3. 添加 Nginx 官方 APT 源
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

# 4. 更新软件包列表
sudo apt update

# 5. 升级 nginx 到最新稳定版
sudo apt install nginx

# 6. 检查版本
nginx -v

# 7. 检查运行状态
sudo systemctl status nginx
相关推荐
讨厌下雨的天空2 小时前
进程优先级
linux·服务器
大柏怎么被偷了2 小时前
【Linux】版本控制器git
linux·运维·服务器
JiMoKuangXiangQu3 小时前
busybox:启动阶段的静态 IP 配置过程
linux·busybox·静态ip配置
Guheyunyi3 小时前
安全风险监测系统核心技术
运维·网络·人工智能·安全
adnyting3 小时前
【Linux日新月异(四)】CentOS 7进程管理深度指南:掌控系统生命线
linux·运维·centos
nassi_3 小时前
GPIO标准库开发
linux
生信大表哥4 小时前
bulk RNA-Seq (4)合并表达矩阵
linux·生信·数信院生信服务器
9ilk5 小时前
【基于one-loop-per-thread的高并发服务器】--- 项目测试
运维·服务器·c++·后端·中间件
DeeplyMind5 小时前
虚拟化hypervisor:Xen简介
linux·virtualization·xen