Nginx произносится как «движок x» — это бесплатный высокопроизводительный HTTP-сервер с открытым исходным кодом и обратный прокси- сервер с открытым исходным кодом, который поддерживает некоторые из крупнейших сайтов в Интернете.
По сравнению с Apache , Nginx может обрабатывать гораздо большее количество одновременных подключений и имеет меньший объем памяти на каждое подключение.
В этом руководстве мы обсудим, как установить Nginx и управлять им в системах Ubuntu 16.04.
Содержание
Подготовка
Перед тем, как начать работу с руководством, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo и у вас нет Apache или какой-либо другой службы, работающей на порте 80 или 443.
Установить Nginx
Пакеты Nginx доступны в репозиториях программного обеспечения Ubuntu по умолчанию. Установка довольно проста, просто выполните следующие команды:
sudo apt update
sudo apt install nginx
После завершения установки проверьте состояние службы Nginx, набрав:
sudo systemctl status nginx
Вывод должен показать вам, что служба 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-01-05 15:44:04 UTC; 1min 59s ago
Main PID: 1291 (nginx)
CGroup: /system.slice/nginx.service
├─1291 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
└─1293 nginx: worker process
Чтобы проверить тип версии Nginx:
sudo nginx -v
nginx version: nginx/1.10.3 (Ubuntu)
Настройте брандмауэр
Предполагая, что вы используете 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
откройте http://YOUR_IP
в выбранном браузере, и вы увидите страницу приветствия Nginx по умолчанию, как показано ниже:
Установите Nginx из репозитория Nginx PPA
Пакеты Nginx из репозиториев Ubuntu часто устарели. Чтобы установить последнюю версию Nginx, используйте официальный репозиторий Nginx PPA.
Выполните следующие действия, чтобы установить последнюю версию Nginx в Ubuntu 16.04:
-
Сначала установите
software-properties-common
:sudo apt install software-properties-common
-
Добавьте репозиторий Nginx PPA, используя следующую команду:
sudo add-apt-repository ppa:nginx/stable
-
Обновите список пакетов и установите Nginx:
sudo apt update
sudo apt install nginx
-
После завершения установки проверьте версию Nginx с помощью:
sudo nginx -v
Результат будет выглядеть примерно так:
nginx version: nginx/1.12.2
Управляйте службой Nginx с помощью systemctl
Вы можете управлять службой Nginx так же, как и любым другим модулем systemd.
-
Чтобы остановить службу Nginx, запустите:
sudo systemctl stop nginx
-
Чтобы запустить службу Nginx, введите:
sudo systemctl start nginx
-
sudo systemctl restart nginx
-
После внесения некоторых изменений в конфигурацию перезагрузите службу Nginx:
sudo systemctl reload nginx
-
Отключите службу Nginx для запуска при загрузке:
sudo systemctl disable nginx
-
Повторно включите службу 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 16.04