nginx:Linux 软件包

目前,nginx 软件支持以下 Linux 发行版:

RHEL/CentOS:

版本 支持平台
6.x x86_64,i386
7.x x86_64,ppc64le

Debian:

版本 代号 支持平台
7.x wheezy x86_64,i386
8.x jessie x86_64,i386
9.x stretch x86_64,i386

Ubuntu:

版本 代号 支持平台
12.04 precise x86_64,i386
14.04 trusty x86_64,i386, aarch64/arm64
16.04 xenial x86_64,i386, ppc64el,aarch64/arm64
16.10 yakkety x86_64,i386

SLES:

版本 支持平台
12 x86_64

要启用 Linux 软件包的自动更新,可设置 RHEL/CentOS 发行版的 yum 仓库(repository),Debian/Ubuntu 发行版的 apt 仓库或 SLES 的 zypper 仓库。

稳定版本的预构建软件包

要设置 RHEL/CentOS 的 yum 仓库,请创建名为 /etc/yum.repos.d/nginx.repo 的文件,其中包含以下内容:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1

根据所使用的发行版,使用 rhelcentos 替换掉 OS,对于 6.x 或 7.x 版本,将 OSRELEASE 替换为 67

对于 Debian/Ubuntu,为了验证 nginx 仓库签名,并且在安装 nginx 软件包时消除关于缺少 PGP 密钥的警告,需要将用于将 nginx 软件包和仓库签署的密钥添加到 apt 程序密钥环中。请从我们的网站下载此密钥,并使用以下命令将其添加到 apt 程序密钥环:

sudo apt-key add nginx_signing.key

对于 Debian,使用 Debian 发行版代号替换掉 codename,并将以下内容追加到 /etc/apt/sources.list 文件末尾:

deb http://nginx.org/packages/debian/ codename nginx
deb-src http://nginx.org/packages/debian/ codename nginx

对于 Ubuntu,使用 Ubuntu 发行版代号替换掉 codename,并将以下内容追加到 /etc/apt/sources.list 文件末尾:

deb http://nginx.org/packages/ubuntu/ codename nginx
deb-src http://nginx.org/packages/ubuntu/ codename nginx

对于 Debian/Ubuntu,请运行以下命令:

apt-get update
apt-get install nginx

对于 SLES,运行以下命令:

zypper addrepo -G -t yum -c 'http://nginx.org/packages/sles/12' nginx

主线版本的预构建软件包

要设置 RHEL/CentOS 的 yum 仓库,请创建名为 /etc/yum.repos.d/nginx.repo 的文件,其中包含以下内容:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1

根据所使用的发行版,使用 rhelcentos 替换掉 OS,对于 6.x 或 7.x 版本,将 OSRELEASE 替换为 67

对于 Debian/Ubuntu,为了验证 nginx 仓库签名,并且在安装 nginx 软件包时消除关于缺少 PGP 密钥的警告,必须将用于将 nginx 软件包和仓库签署的密钥添加到 apt 程序密钥环中。请从我们的网站下载此 密钥,并使用以下命令将其添加到 apt 程序密钥环:

sudo apt-key add nginx_signing.key

对于 Debian,使用 Debian 发行版代号替换 codename,并将以下内容追加到 /etc/apt/sources.list 文件末尾:

deb http://nginx.org/packages/mainline/debian/ codename nginx
deb-src http://nginx.org/packages/mainline/debian/ codename nginx

对于 Ubuntu,使用 Ubuntu 发行版代号替换 codename,并将以下内容追加到 /etc/apt/sources.list 文件末尾:

deb http://nginx.org/packages/mainline/ubuntu/ codename nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ codename nginx

对于 Debian/Ubuntu,请运行以下命令:

apt-get update
apt-get install nginx

对于 SLES,请运行以下命令:

zypper addrepo -G -t yum -c 'http://nginx.org/packages/mainline/sles/12' nginx

源码包

源码包可以在 源码包库 中找到。

default 分支保存当前主线版本的源码包,而 stable-* 分支包含了稳定版本的最新源码。要构建二进制包,请在 Debian/Ubuntu 上的 debian/ 目录或在 RHEL/CentOS/SLES 上的 rpm/SPECS/ 中运行 make

源码包在 类 BSD 的两项条款许可证 下发行,与 nginx 相同。

动态模块

主 nginx 包使用了所有模块进行构建,没有使用到附加库,以避免额外的依赖。自 1.9.11 版本开始,nginx 支持 动态模块,并将以下模块构建为动态模块,以独立软件包的形式发布:

nginx-module-geoip
nginx-module-image-filter
nginx-module-njs
nginx-module-perl
nginx-module-xslt

签名

RPM 软件包和 Debian/Ubuntu 仓库都使用数字签名来验证下载包的完整性和来源。为了检查签名,需要下载 nginx 签名密钥 并将其导入 rpm 或 apt 程序密钥环:

在 Debian/Ubuntu 上:

sudo apt-key add nginx_signing.key

在 RHEL/CentOS 上;

sudo rpm --import nginx_signing.key

在 SLES 上:

sudo rpm --import nginx_signing.key

Debian/Ubuntu/SLES 签名默认情况被检查,但是在 RHEL/CentOS 上,需要在 /etc/yum.repos.d/nginx.repo 文件中进行设置:

gpgcheck= 1

由于我们的 PGP 密钥 和软件包都位于同一台服务器上,因此它们都是可信的。强烈建议另行验证下载的 PGP 密钥的真实性。PGP 具有“Web of Trust”(信任网络)的概念,当一个密钥是由别人的密钥签署的,而另一个密钥则由另一个密钥签名。它通常可以建立一个从任意密钥到您知道和信任的某人的密钥,从而验证链中第一个密钥的真实性。这个概念在 GPG Mini Howto 中有详细描述。我们的钥匙有足够的签名,其真实性比较容易检查。

最后编辑: kuteng  文档更新时间: 2021-11-01 16:44   作者:kuteng