Рассмотрим как установить последнюю версию NGINX на сервере с Ubuntu 16.
Проверим, какая версия уже установлена и какую мы хотим установить.
nginx -v
1. Если необходимо, удаляем текущую версию:
sudo apt remove nginx nginx-common nginx-full nginx-core
sudo systemctl unmask nginx
# sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
2. Добавляем официальные репозитарии NGINX:
sudo nano /etc/apt/sources.list
# Add to the end of the file:
deb http://nginx.org/packages/mainline/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ xenial nginx
3. Добавляем ключ:
wget http://nginx.org/keys/nginx_signing.key
sudo apt-key add nginx_signing.key
4. Обновляем список репозитариев и устанавливаем NGINX:
sudo apt update
sudo apt install nginx
Если необходима установка определенной версии:
apt-cache policy nginx
sudo apt-get install nginx=1.13.6-1~xenial
5. Добавим NGINX в автозапуск:
sudo systemctl enable nginx
6. Проверяем статус:
systemctl status nginx
7. Если используется PHP-FPM, то необходимо сменить группу и пользователя на www-data (при установки NGINX из официального репозитория, там будет nginx). Меняем и перезагружаем:
sudo nano /etc/nginx/nginx.conf
## Replace nginx with www-data
user www-data;
## reload nginx
sudo systemctl reload nginx
8. Проверяем, чтобы в nginx.conf были строки:
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
9. Если под NGINX нужно компилировать динамические модули, нужно заблокировать nginx от обновления (так как динамические модули собираются под конкретную версию):
sudo apt-mark hold nginx
## Unhold
sudo apt-mark unhold <package-name>
10. Проверим версию и то, что она стоит на «холде» (заблокирована от обновлений)
nginx -v
...
apt-mark showhold