Ubuntu: 安装最新版本的 Nginx

时间:2025-03-30 18:58:09

Ubuntu 默认 apt 源中的 Nginx 版本比较旧,今天介绍下如何在 Ubuntu 中安装最新版本的 Nginx。

要安装较新版本的 Nginx, 可以使用 Nginx 的 APT 源。执行如下脚本来添加 Nginx APT 源:

  1. #!/bin/bash
  2. release=$(lsb_release -cs)
  3. cat <<EOF > /etc/apt/sources./
  4. deb https:///packages/ubuntu/ $release nginx
  5. deb-src https:///packages/ubuntu/ $release nginx
  6. EOF

之后更新 package 信息:

apt update

在执行上面的命令时,可能会遇到类似下面的报错信息: 

W: GPG error: /packages/ubuntu xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ABF5BD827BD9BF62

这是因为 APT 源中都会有一个 InRelease 文件[1],里面包含了 package 的 meta-information,通常这个文件都会通过私钥进行签名。在 apt update 命令执行过程中,通过公钥对这个签名做验证。如果本地不存在相应的公钥,就会报上面的错误。此时添加对应的 PUBKEY 就可以了:

apt-key adv --recv-key --keyserver  ABF5BD827BD9BF62

之后再次执行 apt update 命令就不会有报错信息了。

更新完 package 信息后,执行如下命令查看所有可用的 Nginx 版本:

  1. $ apt-cache madison nginx
  2. nginx | 1.20.1-1~xenial | https:///packages/ubuntu xenial/nginx amd64 Packages
  3. nginx | 1.20.0-1~xenial | https:///packages/ubuntu xenial/nginx amd64 Packages
  4. nginx | 1.18.0-2~xenial | https:///packages/ubuntu xenial/nginx amd64 Packages
  5. nginx | 1.18.0-1~xenial | https:///packages/ubuntu xenial/nginx amd64 Packages
  6. nginx | 1.16.1-1~xenial | https:///packages/ubuntu xenial/nginx amd64 Packages
  7. nginx | 1.16.0-1~xenial | https:///packages/ubuntu xenial/nginx amd64 Packages
  8. nginx | 1.14.2-1~xenial | https:///packages/ubuntu xenial/nginx amd64 Packages
  9. nginx | 1.14.1-1~xenial | https:///packages/ubuntu xenial/nginx amd64 Packages
  10. nginx | 1.14.0-1~xenial | https:///packages/ubuntu xenial/nginx amd64 Packages
  11. ...

执行 apt install nginx 命令,默认会安装最新的 Nginx 版本(或将已安装的Nginx升级到最新版本)。

如果想要安装特定版本的 Nginx, 可以指定对应的版本号,例如:

apt install nginx=1.18.0-2~xenial

参考:

[1]: https://wiki.debian.org/DebianRepository/Format#A.22Release.22_files

一如既往,如果你对文章中的内容有任何疑问,或者是发现文章中有任何错误,都可以通过留言告诉我;如果你喜欢我的文章,欢迎关注我的微信公众号 Tech For Geek