Currently, nginx packages are available for the following distributions and versions:
RHEL/CentOS:
Version Supported Platforms 5.x x86_64, i386 6.x x86_64, i386 7.x x86_64, ppc64le
Debian:
Version Codename Supported Platforms 7.x wheezy x86_64, i386 8.x jessie x86_64, i386
Ubuntu:
Version Codename Supported Platforms 12.04 precise x86_64, i386 14.04 trusty x86_64, i386, aarch64/arm64 16.04 xenial x86_64, i386, ppc64el
SLES:
Version Supported Platforms 12 x86_64
To enable automatic updates of Linux packages set up the yum repository for the RHEL/CentOS distributions, the apt repository for the Debian/Ubuntu distributions, or the zypper repository for SLES.
To set up the yum repository for RHEL/CentOS, create the file named
/etc/yum.repos.d/nginx.repo
with the following contents:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/ gpgcheck=0 enabled=1
Replace “OS
” with “rhel
” or
“centos
”,
depending on the distribution used, and “OSRELEASE
”
with “5
”, “6
”, or “7
”,
for 5.x, 6.x, or 7.x versions, respectively.
For Debian/Ubuntu, in order to authenticate the nginx repository signature
and to eliminate warnings about missing PGP key during installation of the
nginx package, it is necessary to add the key used to sign the nginx
packages and repository to the apt
program keyring.
Please download this
key from our web site, and add it to the apt
program keyring with the following command:
sudo apt-key add nginx_signing.key
For Debian replace codename with Debian distribution
codename, and append the following to
the end of the /etc/apt/sources.list
file:
deb http://nginx.org/packages/debian/ codename nginx deb-src http://nginx.org/packages/debian/ codename nginx
For Ubuntu replace codename with Ubuntu distribution
codename, and append the following to
the end of the /etc/apt/sources.list
file:
deb http://nginx.org/packages/ubuntu/ codename nginx deb-src http://nginx.org/packages/ubuntu/ codename nginx
For Debian/Ubuntu then run the following commands:
apt-get update apt-get install nginx
For SLES run the following command:
zypper addrepo -G -t yum -c 'http://nginx.org/packages/sles/12' nginx
To set up the yum repository for RHEL/CentOS, create the file named
/etc/yum.repos.d/nginx.repo
with the following contents:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/OS/OSRELEASE/$basearch/ gpgcheck=0 enabled=1
Replace “OS
” with “rhel
” or
“centos
”,
depending on the distribution used, and “OSRELEASE
”
with “5
”, “6
”, or “7
”,
for 5.x, 6.x, or 7.x versions, respectively.
For Debian/Ubuntu, in order to authenticate the nginx repository signature
and to eliminate warnings about missing PGP key during installation of the
nginx package, it is necessary to add the key used to sign the nginx
packages and repository to the apt
program keyring.
Please download this
key from our web site, and add it to the apt
program keyring with the following command:
sudo apt-key add nginx_signing.key
For Debian replace codename with Debian distribution
codename, and append the following to
the end of the /etc/apt/sources.list
file:
deb http://nginx.org/packages/mainline/debian/ codename nginx deb-src http://nginx.org/packages/mainline/debian/ codename nginx
For Ubuntu replace codename with Ubuntu distribution
codename, and append the following to
the end of the /etc/apt/sources.list
file:
deb http://nginx.org/packages/mainline/ubuntu/ codename nginx deb-src http://nginx.org/packages/mainline/ubuntu/ codename nginx
For Debian/Ubuntu then run the following commands:
apt-get update apt-get install nginx
For SLES run the following command:
zypper addrepo -G -t yum -c 'http://nginx.org/packages/mainline/sles/12' nginx
Configure arguments common for nginx binaries from pre-built packages for stable version:
--prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/clienttemp --http-proxy-temp-path=/var/cache/nginx/proxytemp --http-fastcgi-temp-path=/var/cache/nginx/fastcgitemp --http-uwsgi-temp-path=/var/cache/nginx/uwsgitemp --http-scgi-temp-path=/var/cache/nginx/scgitemp --user=nginx --group=nginx --with-httpsslmodule --with-httprealipmodule --with-httpadditionmodule --with-httpsubmodule --with-httpdavmodule --with-httpflvmodule --with-httpmp4module --with-httpgunzipmodule --with-httpgzipstaticmodule --with-httprandomindexmodule --with-httpsecurelinkmodule --with-httpstubstatusmodule --with-httpauthrequestmodule --with-threads --with-stream --with-streamsslmodule --with-httpslicemodule --with-mail --with-mailsslmodule --with-file-aio --with-httpv2module --with-ipv6
Packages for mainline version also have the following arguments:
--with-streamrealipmodule
Main nginx package is built with all modules that do not require additional libraries to avoid extra dependencies.
Since version 1.9.11, nginx supports dynamic modules. Currently, the following modules are built as dynamic and shipped as separate packages:
nginx-module-geoip nginx-module-image-filter nginx-module-njs nginx-module-perl nginx-module-xslt
Both RPM packages and Debian/Ubuntu repositories use digital signatures
to verify the integrity and origin of the downloaded package.
In order to check a signature it is necessary to download
nginx signing key
and import it to the rpm
or apt
program’s keyring:
sudo apt-key add nginx_signing.key
sudo rpm --import nginx_signing.key
sudo rpm --import nginx_signing.key
On Debian/Ubuntu/SLES signatures are checked by default, but on RHEL/CentOS it is necessary to set
gpgcheck=1
in the
/etc/yum.repos.d/nginx.repo
file.
Since our PGP keys and packages are located on the same server, they are equally trusted. It is highly advised to additionally verify the authenticity of the downloaded PGP key. PGP has the “Web of Trust” concept, when a key is signed by someone else’s key, that in turn is signed by another key and so on. It often makes possible to build a chain from an arbitrary key to someone’s key who you know and trust personally, thus verify the authenticity of the first key in a chain. This concept is described in details in GPG Mini Howto. Our keys have enough signatures, and their authenticity is relatively easy to check.