Nginx произносится как «движок x» — это высокопроизводительный HTTP-сервер с открытым исходным кодом и обратный прокси-сервер, отвечающий за обработку нагрузки некоторых из крупнейших сайтов в Интернете. Его можно использовать в качестве автономного веб-сервера, балансировщика нагрузки, кеша контента и обратного прокси-сервера для HTTP-серверов и серверов, отличных от HTTP.
По сравнению с Apache, Nginx может обрабатывать гораздо большее количество одновременных подключений и имеет меньший объем памяти на каждое подключение.
В этом руководстве объясняется, как установить Nginx в CentOS 8 и управлять им.
Содержание
Подготовка
Прежде чем продолжить, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo и у вас нет Apache или какого-либо другого процесса, работающего на портах 80 или 443.
Установка Nginx на CentOS 8
Начиная с CentOS 8, пакет Nginx доступен в репозиториях CentOS по умолчанию.
Установить Nginx на CentOS 8 так же просто, как набрать:
sudo yum install nginx
После завершения установки включите и запустите службу Nginx с помощью:
sudo systemctl enable nginx
sudo systemctl start nginx
Чтобы убедиться, что служба запущена, проверьте ее статус:
sudo systemctl status nginx
Результат должен выглядеть примерно так:
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2019-10-06 18:35:55 UTC; 17min ago
...
Настройка брандмауэра
FirewallD — это брандмауэр по умолчанию на Centos 8.
Во время установки Nginx создает служебные файлы firewalld с предопределенными правилами для разрешения доступа к портам HTTP ( 80
) и HTTPS ( 443
).
Используйте следующие команды, чтобы открыть необходимые порты навсегда:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Теперь вы можете протестировать свою установку Nginx, открыв http://YOUR_IP
в своем веб-браузере. Вы должны увидеть страницу приветствия Nginx по умолчанию, которая должна выглядеть как на изображении ниже:
Структура файла конфигурации Nginx и рекомендации
- Все файлы конфигурации Nginx находятся в каталоге
/etc/nginx/
. - Главный файл конфигурации Nginx — это
/etc/nginx/nginx.conf
. - Создание отдельного файла конфигурации для каждого домена упрощает обслуживание сервера.
- Файлы блоков сервера Nginx должны оканчиваться на
.conf
и храниться в/etc/nginx/conf.d
. Вы можете иметь столько серверных блоков, сколько хотите. - Рекомендуется следовать стандартному соглашению об именах. Например, если имя домена
mydomain.com
файл конфигурации должен называтьсяmydomain.com.conf
- Если вы используете повторяющиеся сегменты конфигурации в блоках сервера домена, рекомендуется преобразовать эти сегменты в фрагменты.
- Файлы журнала 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>
-
/usr/share/nginx/html
-
Выводы
Поздравляем, вы успешно установили Nginx на свой сервер CentOS 8. Теперь вы готовы начать развертывание своих приложений и использовать Nginx в качестве веб-сервера или прокси-сервера.
Вы можете управлять службой Nginx так же, как и любым другим модулем systemd.
Чтобы иметь возможность размещать несколько веб-сайтов на одном компьютере, вам необходимо создать серверные блоки для каждого домена.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.