nginx: пакеты для Linux

В данный момент доступны готовые пакеты для следующих дистрибутивов и их версий:

RHEL/CentOS:

Версия Поддерживаемые платформы
5.x x86_64, i386
6.x x86_64, i386
7.x x86_64, ppc64le

Debian:

Версия Кодовое имя Поддерживаемые платформы
7.x wheezy x86_64, i386
8.x jessie 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

SLES:

Версия Поддерживаемые платформы
12 x86_64

Чтобы включить автоматическое обновление пакетов для Linux, настройте репозиторий yum для дистрибутивов RHEL/CentOS, репозиторий apt для дистрибутивов Debian/Ubuntu, или репозиторий zypper для SLES.

Готовые пакеты стабильной версии

Для настройки репозитория yum для RHEL/CentOS необходимо создать файл с именем /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”, в зависимости от используемого дистрибутива, а “OSRELEASE” на “5”, “6” или “7”, для, соответственно, 5.x, 6.x или 7.x версий.

Для Debian/Ubuntu, для проверки подлинности подписи репозитория nginx, и чтобы избавиться от предупреждений об отсутствующем PGP-ключе во время установки пакета nginx, необходимо добавить ключ, которым были подписаны пакеты и репозиторий nginx, в связку ключей программы apt. Загрузите этот ключ с нашего веб-сайта и добавьте его в связку ключей программы apt, выполнив команду:

sudo apt-key add nginx_signing.key

Для 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 на кодовое имя дистрибутива, и добавьте в конец файла /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

Готовые пакеты mainline-версии

Для настройки репозитория yum для RHEL/CentOS необходимо создать файл с именем /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”, в зависимости от используемого дистрибутива, а “OSRELEASE” на “5”, “6” или “7”, для, соответственно, 5.x, 6.x или 7.x версий.

Для Debian/Ubuntu, для проверки подлинности подписи репозитория nginx, и чтобы избавиться от предупреждений об отсутствующем PGP-ключе во время установки пакета nginx, необходимо добавить ключ, которым были подписаны пакеты и репозиторий nginx, в связку ключей программы apt. Загрузите этот ключ с нашего веб-сайта и добавьте его в связку ключей программы apt, выполнив команду:

sudo apt-key add nginx_signing.key

Для 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 замените 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

Аргументы configure

Общие аргументы configure для nginx из пакетов стабильной версии:

--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/client_temp
--http-proxy-temp-path=/var/cache/nginx/proxy_temp
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp
--http-scgi-temp-path=/var/cache/nginx/scgi_temp
--user=nginx
--group=nginx
--with-http_ssl_module
--with-http_realip_module
--with-http_addition_module
--with-http_sub_module
--with-http_dav_module
--with-http_flv_module
--with-http_mp4_module
--with-http_gunzip_module
--with-http_gzip_static_module
--with-http_random_index_module
--with-http_secure_link_module
--with-http_stub_status_module
--with-http_auth_request_module
--with-threads
--with-stream
--with-stream_ssl_module
--with-http_slice_module
--with-mail
--with-mail_ssl_module
--with-file-aio
--with-http_v2_module
--with-ipv6

Пакеты для mainline-версии добавляют к списку:

--with-stream_realip_module

Для того чтобы избежать увеличения числа зависимостей, основной пакет nginx не включает модули, которым требуются дополнительные библиотеки.

Динамические модули

Начиная с версии 1.9.11 nginx поддерживает динамические модули. В настоящее время следующие модули собираются как динамические и поставляются в виде отдельных пакетов:

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

Подписи

Для проверки целостности и происхождения загруженного пакета и в случае RPM, и в случае репозиториев Debian/Ubuntu используется цифровая подпись. Для проверки подписи необходимо загрузить этот ключ и импортировать его в связку ключей программы rpm или apt:

В Debian/Ubuntu/SLES подпись проверяется по умолчанию, однако в RHEL/CentOS необходимо добавить

gpgcheck=1

в файл /etc/yum.repos.d/nginx.repo.

Поскольку наши PGP-ключи находятся на том же сервере, что и пакеты, им следует доверять в равной степени. Поэтому мы настоятельно рекомендуем дополнительно проверить подлинность загруженных PGP-ключей. В PGP есть понятие “сети доверия”, когда ключ подписывается чьим-либо другим ключом, тот в свою очередь третьим, и т.д. Это зачастую позволяет построить цепочку от произвольного ключа до ключа человека, которого вы знаете и кому доверяете лично, и таким образом удостовериться в подлинности первого ключа в цепочке. Подробно эта концепция описана в GPG Mini Howto. У наших ключей есть достаточное количество подписей, поэтому проверить их подлинность относительно несложно.