前言

最近在试着升级 Ubuntu 22.10 kinetic 系统,升级完后感觉当作服务器还是有点问题。

其中就发现Nginx的版本好像不能用下面这条代码添加源来获取最新版本:

1
add-apt-repository ppa:ondrej/nginx

也可能是我以前一直是错的。于是就细细查了一下官网,发现还真是的。

本教程仅适用于 Ubuntu 22.10 kinetic

步骤

根据官网的介绍,,输入以下几条命令就可以了。

这边是针对 Ubuntu 系统的,如果是其他系统也可进入官网查询:

1. 安装必备组件:

1
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring

2. 导入官方nginx签名密钥,以便apt可以验证软件包真实性。 获取密钥:

1
2
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

3. 验证下载的文件是否包含正确的密钥:

1
gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg

输出应包含完整的指纹,如下所示:573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62

1
2
3
pub   rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid nginx signing key <signing-key@nginx.com>

如果指纹不同,请删除该文件。

4. 选择版本

4.1 要为稳定的nginx软件包设置apt存储库, 运行以下命令:

1
2
3
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.2 如果你想使用主线(最新)nginx包, 请改为运行以下命令:

1
2
3
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list

5. 设置存储库:

1
2
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
| sudo tee /etc/apt/preferences.d/99nginx

6. 安装 nginx,运行以下命令:

1
2
sudo apt update
sudo apt install nginx

最后

目前根据我体验的Mainline版本,安装完成后 /etc/nginx/ 目录下已经没有site-avaiablesites-enable文件夹了,只有一个 conf.d 文件夹以作使用,看上去更简洁了。

另外,还有个个人库源可以研究一下:Personal Package Archives for Ubuntu