Как установить nginx на Debian 10

Обсудить
Как установить nginx на Debian 10

Введение

Nginx - один из самых популярных веб-серверов в мире, его используют многие крупные интернет-порталы. Его можно использовать не только в качестве веб-сервера, но и как обратный прокси. Nginx обладает массой преимуществ, например, в сравнении с Apache он потребляет меньше ресурсов.

Из этой статьи вы узнаете, как установить nginx на сервер с ОС Debian 10.

Требования

Для выполнения дальнейших действий у вас должен быть создан пользователь с sudo привилегиями (под которым вам нужно авторизоваться), а также работать фаервол. 

Шаг 1: установка nginx

Nginx доступен в стандартных репозиториях Debian, так что его можно установить прямо оттуда, используя пакетный менеджер apt.

Нужно выполнить стандартные действия - сначала обновить локальный индекс пакетов:

$ sudo apt update

А затем уже установить сам nginx:

$ sudo apt install nginx

Далее нужно нажать Enter, чтобы подтвердить то, что вы хотите начать установку. После этого на ваш сервер установится nginx и все необходимые зависимости.

Шаг 2: настройка фаервола

Теперь нужно внести несколько изменений в фаервол.

Введите команду ниже для того, чтобы просмотреть все доступные профили приложений на вашем сервере:

$ sudo ufw app list

Вы увидите список профилей приложений:

Available applications:

...

  Nginx Full

  Nginx HTTP

  Nginx HTTPS

...

Для nginx доступны 3 профиля:

  • Nginx Full: профиль открывает два порта – 80 (обычный, незашифрованный веб-трафик) и 443 (TLS/SSL зашифрованный трафик);
  • Nginx HTTP: профиль открывает только порт 80 (обычный, незашифрованный веб-трафик);
  • Nginx HTTPS: профиль открывает только порт 443 (TLS/SSL зашифрованный трафик).

Лучше всего использовать наиболее ограниченный профиль, но при этом разрешающий необходимый вам трафик. Так как на сервере еще не настроен SSL, то на данном этапе необходимо открыть порт 80, который разрешает трафик для незашифрованного трафика HTTP.

Для этого нужно выполнить команду:

$ sudo ufw allow 'Nginx HTTP'

Затем проверьте состояние UFW:

$ sudo ufw status

В выводе вы увидите заданные правила (HTTP разрешен):

Status: active

To                         Action  From

--                         ------  ----

OpenSSH                 ALLOW    Anywhere              

Nginx HTTP              ALLOW  Anywhere              

OpenSSH (v6)            ALLOW    Anywhere (v6)         

Nginx HTTP (v6)         ALLOW    Anywhere (v6) 

Шаг 3: проверка работы веб-сервера

После завершения процесса установки Debian 10 запустит nginx. То есть веб-сервер будет уже работать.

Это можно проверить следующей командой:

$ systemctl status nginx

Вы увидите вывод:

nginx.service - A high performance web server and a reverse proxy server

   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)

   Active: active (running) since Wed 2019-07-12 12:52:54 UTC; 4min 23s ago

  Docs: man:nginx(8)

 Main PID: 3942 (nginx)

Tasks: 3 (limit: 4719)

   Memory: 6.1M

   CGroup: /system.slice/nginx.service

           ├─3942 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;

        ├─3943 nginx: worker process

        └─3944 nginx: worker process

Значит, сервис успешно запущен. И лучший способ убедиться в этом - это загрузить начальную страницу nginx, перейдя по IP-адресу вашего сервера. Если вы его не знаете, то введите команду:

$ ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

В выводе вы увидите несколько строк - попробуйте в строке браузера каждую из них.

После того, как вы введете IP-адрес сервера, вы должны увидеть:Nginx

Если страница отобразилась, значит, сервер работает корректно.

Шаг 4: работа с nginx

Наконец, несколько основных команд, которые позволяют управлять nginx.

Остановить веб-сервер:

$ sudo systemctl stop nginx

Заново запустить после остановки:

$ sudo systemctl start nginx

Остановить и запустить:

$ sudo systemctl restart nginx

Если вы вносите изменения в настройки, можно перезагрузить nginx без остановки процессов и обрыва соединений:

$ sudo systemctl reload nginx

По умолчанию nginx будет запускаться вместе с сервером. Выключить эту настройку можно командой:

$ sudo systemctl disable nginx

Если же вам нужно включить автозапуск nginx, то введите:

$ sudo systemctl enable nginx

Запустите свой сервер

Комментарии