现在,nginx安装包适用于下列的分类和版本:
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/CenOS版本上设置yum仓库,在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
根据使用的版本将"os"替换为"rhel"或者"centos",并且根据6.x版本或7.x版本将"OSRELEASE"设置为
6或者7。
对于Debian/Ubuntu,为了编辑nginx仓库的签名并且去除掉安装nginx的过程中丢失PGP密钥的警告,
添加用来对nginx安装包和仓库的密钥到apt程序密钥环当中是必要的。请在网站上下载这个密钥,并且通过下列的命令把他添加到apt程序的密钥环当中:
Sudo apt-key add nginx_signing.key
对于Debian将codename替换为Debian版本的codename(文章开始的地方查看),并且将下列内容添加到/etc/apt/sources.list文件的末尾:
deb http://nginx.org/packages/debian/codename nginx
deb-src http://nginx.org/packages/debian/codename nginx
对于Ubuntu将codename替换为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
根据版本将”os”替换为”rhel”或者”centos”,并且根据6.x或者7.x将”OSRELEASE”替换为”6”或”7”。
对于Debian/Ubuntu,为了编辑nginx仓库的签名并且去除掉安装nginx的过程中丢失PGP密钥的警告,
添加用来对nginx安装包和仓库的密钥到apt程序密钥环当中是必要的。请在网站上下载这个密钥,并且通过下列的命令把他添加到apt程序的密钥环当中:
Sudo apt-key add nginx_signing.key
对于Debian将codename替换为Debian版本的codename(文章开始的地方查看),并且将下列内容添加到/etc/apt/sources.list文件的末尾:
debhttp://nginx.org/packages/mainline/debian/ codename nginx
deb-srchttp://nginx.org/packages/mainline/debian/ codename nginx
对于Ubuntu将codename替换为Ubuntu版本的codename(文章开始的地方查看),并且将下列内容添加到/etc/apt/sources.list文件的末尾:
deb http://nginx.org/packages/mainline/ubuntu/codename nginx
deb-srchttp://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
安装包资源可以在http://hg.nginx.org/pkg-oss?_ga=2.221961944.1913913082.1497043456-5965798.1496934674找到
default(默认)版本为当前的主线版本的安装包资源,而stable-*(稳定)版本包含着最新的稳定版的安装包资源。为了编译二进制安装包,运行make命令(Debian/Ubuntu在debian/目录下,RHEL/CentOS/SLES在rpm/SPECS下)。
安装包资源在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遵循”信任的网络”的思想,一个密钥被其他人的密钥进行签名,然后又被另外的密钥进行签名等等。这常常会使得构造一个包含着一个你知道而且单独信任的密钥的密钥链,因此请确认密钥链当中的第一个密钥的作者。这个思想详细描述于GPG MiniHowto。我们的密钥有着足够的签名,并且他们的作者很容易被核实。