Nginx
March 22, 2023

Установка Nginx и динамических модулей из официального репозитория

В данном мануале рассмотрим установку Nginx из официального репозитория. И из системного репозитория в ОС Ubuntu/CentOS. Также рассмотрим установку динамических модулей.

Установка из системного репозитория Ubuntu/Debian.

sudo apt -y install nginx
sudo apt -y install nginx-core
sudo apt -y install nginx-extras
sudo apt -y install nginx-full
sudo apt -y install nginx-light

Установка из системного репозитория CentOS/Red Hat.

sudo yum -y install nginx
sudo yum -y install nginx-core
sudo yum -y install nginx-extras
sudo yum -y install nginx-full
sudo yum -y install nginx-light

Установка в Ubuntu 20.04 из официального репозитория.

echo "deb http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
    | sudo tee /etc/apt/preferences.d/99nginx
curl -o /tmp/nginx_signing.key https://nginx.org/keys/nginx_signing.key
gpg --dry-run --quiet --import --import-options import-show /tmp/nginx_signing.key
mv /tmp/nginx_signing.key /etc/apt/trusted.gpg.d/nginx_signing.asc
apt update
apt -y install nginx
systemctl enable nginx --now

Мы по дефолту ставим mainline версию. Если надо поставить stable, то на 1 этапе вводим:

echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list

Установка в CentOS 7 из официального репозитория.

yum -y install yum-utils
vi /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

По умолчанию используется репозиторий для стабильной версии nginx. Если предпочтительно использовать пакеты для основной версии nginx, выполните следующую команду: yum-config-manager --enable nginx-mainline

yum -y install nginx

Настройка firewalld.

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Запуск и добавление в systemd.

systemctl enable nginx --now

Установка в Debian 10 из официального репозитория.

echo "deb http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
    | sudo tee /etc/apt/preferences.d/99nginx
curl -o /tmp/nginx_signing.key https://nginx.org/keys/nginx_signing.key
gpg --dry-run --quiet --import --import-options import-show /tmp/nginx_signing.key
mv /tmp/nginx_signing.key /etc/apt/trusted.gpg.d/nginx_signing.asc
apt update
apt -y install nginx
systemctl enable nginx --now

Мы по дефолту ставим mainline версию. Если надо поставить stable, то на 1 этапе вводим:

echo "deb http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list

Список динамических модулей.

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

Установка динамических модулей.

GeoIP

apt -y install nginx-module-geoip
vi /etc/nginx/nginx.conf
	load_module modules/ngx_http_geoip_module.so;
	load_module modules/ngx_stream_geoip_module.so;

Perl

apt -y install nginx-module-perl
vi /etc/nginx/nginx.conf
	load_module modules/ngx_http_perl_module.so;

njs

apt -y install nginx-module-njs
vi /etc/nginx/nginx.conf
    	load_module modules/ngx_http_js_module.so;
    	load_module modules/ngx_stream_js_module.so;

Команды Nginx.

nginx -t - проверить конфигурационный файл на наличие ошибок
nginx -V - посмотреть с какими модулями был собран nginx
nginx -v - версия nginx
nginx -s reload - мягко перечитать конфигурацию nginx
nginx -V 2>&1|xargs -n1|grep module

Полезные ссылки.

Howto nginx work with query
https://nginx.org/ru/docs/http/request_processing.html

Install nginx
https://nginx.org/ru/linux_packages.html