Ubuntu中需先换为清华等高速apt源并添加nginx.org官方仓库,再用sudo apt install nginx=1.22.1-1~jammy安装指定版本,最后sudo apt-mark hold nginx锁定防止升级。

Ubuntu系统中更新apt源和安装特定版本的Nginx,关键在于替换为稳定可靠的镜像源,并通过官方仓库或nginx.org提供的包精准控制版本。默认源可能较慢或缺少新版Nginx,而直接用apt install nginx通常只装Ubuntu维护的LTS版(如22.04默认是1.18),无法满足对1.22、1.24等新特性的需求。
更换为国内高速apt源(以清华源为例)
修改前建议备份原配置:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak- 编辑源文件:
sudo nano /etc/apt/sources.list - 将所有
http://archive.ubuntu.com和http://security.ubuntu.com替换为https://mirrors.tuna.tsinghua.edu.cn/ubuntu/(注意协议用https,且路径结构保持一致) - 保存后运行
sudo apt update验证是否成功获取软件包列表
安装Nginx官方最新稳定版(非Ubuntu默认版)
Ubuntu自带源不及时更新Nginx主版本,推荐使用nginx.org官方APT仓库:
- 安装依赖:
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring - 导入Nginx签名密钥:
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null - 添加官方源(以Ubuntu 22.04 jammy为例):
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/ubuntu/ jammy nginx" | sudo tee /etc/apt/sources.list.d/nginx.list - 执行
sudo apt update,再运行apt list -a nginx可看到官方源提供的多个版本(如1.24.0、1.22.1等)
指定安装某个Nginx版本(例如1.22.1)
避免自动升级覆盖,安装时明确指定版本号:
- 查看可用版本:
apt list -a nginx - 安装指定版本:
sudo apt install nginx=1.22.1-1~jammy(版本号需与apt list输出完全一致,含后缀) - 锁定版本防止意外升级:
sudo apt-mark hold nginx - 验证:
nginx -v应输出nginx version: nginx/1.22.1
常见问题处理
若安装失败或版本不符,检查以下几点:
- 确认
/etc/apt/sources.list.d/nginx.list中发行代号(如jammy/focal)与lsb_release -sc输出一致 - 若提示“版本不可用”,可能是官方源尚未为该Ubuntu版本构建对应包,可改用
nginx-full或从http://nginx.org/download/源码编译 - 已安装旧版Nginx时,先卸载:
sudo apt remove --purge nginx nginx-common nginx-core,再清理配置残留(如/etc/nginx目录按需保留)


















