Nginx — это высокопроизводительный HTTP-сервер с открытым исходным кодом и обратный прокси-сервер, на котором работают некоторые из крупнейших сайтов в Интернете.
Nginx можно использовать как автономный веб-сервер и как обратный прокси для Apache и других веб-серверов.
По сравнению с Apache, Nginx может обрабатывать гораздо большее количество одновременных подключений и имеет меньший объем памяти на каждое подключение.
В этом руководстве описаны шаги по установке и управлению Nginx на машине Debian.
Содержание
Подготовка
Перед тем, как начать работу с руководством, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .
Установить Nginx
Установка довольно проста. Выполните следующие действия, чтобы установить Nginx в вашей системе Debian:
- Обновите индекс пакетов:
sudo apt update
- Установите пакет Nginx:
sudo apt install nginx
- Служба Nginx автоматически запустится после завершения процесса установки. Вы можете проверить это, выполнив следующую команду
curl
:curl -I 127.0.0.1
HTTP/1.1 200 OK Server: nginx/1.10.3 Date: Mon, 27 Aug 2018 22:29:02 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Mon, 27 Aug 2018 22:27:54 GMT Connection: keep-alive ETag: "5b847aea-264" Accept-Ranges: bytes
Настройте брандмауэр
Если вы используете iptables для фильтрации подключений к вашей системе, вам необходимо открыть порты HTTP ( 80
) и HTTPS ( 443
).
Откройте необходимые порты, введя следующую команду:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Управляйте службой Nginx с помощью systemctl
Вы можете использовать команду systemctl
для управления службой Nginx , как и любой другой модуль systemd.
Чтобы остановить службу Nginx, запустите:
sudo systemctl stop nginx
Чтобы запустить его снова, введите:
sudo systemctl start nginx
Чтобы перезапустить службу Nginx :
sudo systemctl restart nginx
После внесения некоторых изменений в конфигурацию перезагрузите службу Nginx:
sudo systemctl reload nginx
Отключите службу Nginx для запуска при загрузке:
sudo systemctl disable nginx
И чтобы снова включить его:
sudo systemctl enable nginx
Структура файла конфигурации Nginx и рекомендации
- Файлы конфигурации Nginx хранятся в каталоге
/etc/nginx
. - Главный файл конфигурации Nginx — это
/etc/nginx/nginx.conf
. - Файлы конфигурации серверного блока (vhost) хранятся в каталоге
/etc/nginx/sites-available
. Файлы конфигурации, найденные в этом каталоге, не используются Nginx, если они не связаны с каталогом/etc/nginx/sites-enabled
. - Активация серверных блоков выполняется путем создания символической ссылки (указателя) с сайта конфигурационного файла в каталоге с
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 на свой сервер Debian 9. Теперь вы готовы начать развертывание своих приложений и использовать Nginx в качестве веб-сервера или прокси-сервера.
Этот пост является частью серии «Как установить LEMP Stack в Debian 9». Другие сообщения из этой серии:
- Как установить PHP на Debian 9
- Как настроить серверные блоки Nginx в Debian 9
- Защитите Nginx с помощью Let’s Encrypt в Debian 9