Nginx произносится как «движок x» — это бесплатный высокопроизводительный 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/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>
Выводы
Поздравляем, вы успешно установили Nginx на свой сервер Ubuntu 18.04. Теперь вы готовы начать развертывание своих приложений и использовать Nginx в качестве веб-сервера или прокси-сервера. В настоящее время безопасный сертификат является обязательной функцией для всех веб-сайтов. Чтобы защитить свой веб-сайт с помощью бесплатного SSL-сертификата Let’s Encrypt, вы можете следовать этому руководству по защите Nginx с помощью Let’s Encrypt в Ubuntu 18.04 .
Если вы собираетесь разместить на своем сервере несколько доменов, вы можете проверить это руководство и узнать, как создавать серверные блоки Nginx.
Этот пост является частью серии статей о том, как установить LEMP stack на Ubuntu 18.04. Другие сообщения из этой серии: