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

В этом руководстве будут описаны шаги, необходимые для установки Nginx на компьютере с Ubuntu 18.04.

Предпосылки

Прежде чем приступить к изучению руководства, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo и что у вас нет Apache или любого другого веб-сервера, работающего на порту 80или 443.

Установка Nginx

Пакеты Nginx доступны в стандартных репозиториях Ubuntu. Установка довольно проста. Мы начнем с обновления списка пакетов, а затем установим Nginx:

sudo apt update
sudo apt install nginx

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

sudo 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 Sun 2018-04-29 06:43:26 UTC; 8s ago
     Docs: man:nginx(8)
  Process: 3091 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 3080 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 3095 (nginx)
    Tasks: 2 (limit: 507)
   CGroup: /system.slice/nginx.service
           ├─3095 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           └─3097 nginx: worker process

Настройка брандмауэра

Предполагая, что вы используете UFW для управления брандмауэром, вам необходимо открыть порты HTTP ( 80) и HTTPS ( ). 443Вы можете сделать это, включив профиль «Nginx Full», который включает правила для обоих портов:

sudo ufw allow 'Nginx Full'

Чтобы проверить тип статуса:

sudo ufw status

Вывод будет выглядеть примерно так:

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
Nginx Full                 ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
Nginx Full (v6)            ALLOW       Anywhere (v6)

Протестируйте установку

Чтобы протестировать новую установку Nginx, откройте http://YOUR_IPее в выбранном вами браузере, и вам будет представлена ​​целевая страница Nginx по умолчанию.

Управление сервисом Nginx

Вы можете управлять службой Nginx так же, как и любой другой службой systemd.

Чтобы остановить службу Nginx, запустите:

sudo systemctl stop nginx

Чтобы запустить его снова, введите:

sudo systemctl start nginx

Чтобы перезапустить службу Nginx :

sudo systemctl restart nginx

Перезагрузите службу Nginx после внесения некоторых изменений в конфигурацию:

sudo systemctl reload nginx

По умолчанию служба Nginx запускается при загрузке. Если вы хотите отключить запуск службы Nginx при загрузке:

sudo systemctl disable nginx

И снова включить его:

sudo systemctl enable nginx

Структура файла конфигурации Nginx и рекомендации

  • Все файлы конфигурации Nginx находятся в /etc/nginxкаталоге.
  • Основной файл конфигурации Nginx — это /etc/nginx/nginx.conf.
  • Чтобы упростить настройку Nginx, рекомендуется создать отдельный файл конфигурации для каждого домена. У вас может быть столько файлов блоков сервера, сколько вам нужно.
  • Файлы блоков сервера Nginx хранятся в /etc/nginx/sites-availableкаталоге. Файлы конфигурации, найденные в этом каталоге, не используются Nginx, если они не связаны с /etc/nginx/sites-enabledкаталогом.
  • Для активации блока сервера необходимо создать симлинк (указатель) из конфигурационного файла sites в sites-availableдиректории на sites-enabledдиректорию.
  • Рекомендуется следовать стандартному соглашению об именах, например, если ваше доменное имя, mydomain.comто ваш файл конфигурации должен быть назван/etc/nginx/sites-available/mydomain.com.conf
  • Каталог /etc/nginx/snippetsсодержит фрагменты конфигурации, которые можно включить в файлы блоков сервера. Если вы используете повторяющиеся сегменты конфигурации, вы можете преобразовать эти сегменты в фрагменты и включить файл фрагмента в блоки сервера.
  • Файлы журнала Nginx ( access.logи error.log) находятся в /var/log/nginxкаталоге. Рекомендуется иметь разные файлы журнала для каждого блока сервера access.error
  • Вы можете установить корневой каталог документов вашего домена в любое место, которое вы хотите. Наиболее распространенные места для webroot включают:
    • /home//
    • /var/www/
    • /var/www/html/
    • /opt/

Заключение

Поздравляем, вы успешно установили Nginx на свой сервер Ubuntu 18.04. Теперь вы готовы начать развертывание своих приложений и использовать Nginx в качестве веб-сервера или прокси-сервера.