
Nginx (произносится как «engine 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 nginxsudo 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=httpsudo firewall-cmd --permanent --zone=public --add-service=httpssudo 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// -
/var/www/ -
/var/www/html/ -
/opt/ -
/usr/share/nginx/html
-
Заключение
Поздравляем! Вы успешно установили Nginx на свой сервер CentOS 8. Теперь вы готовы приступить к развертыванию приложений и использованию Nginx в качестве веб-сервера или прокси-сервера.
Вы можете управлять службой Nginx так же, как и любым другим модулем systemd.
Чтобы иметь возможность размещать несколько веб-сайтов на одном компьютере, вам необходимо создать серверные блоки для каждого домена.
Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии.
nginx centos Не используете CentOS 8?
Выберите другую ОС: центос 7 дебиан 10 дебиан 9 убунту 16.04 убунту 18.04 убунту 20.04
Связанные руководства
- Защитите Nginx с помощью Let's Encrypt на CentOS 8
- Как установить Drupal на CentOS 7
- Как установить и настроить Redmine на CentOS 7
- Как настроить блоки сервера Nginx на CentOS 8
- Как установить WordPress с Nginx на CentOS 7
- Как установить phpMyAdmin с Nginx на CentOS 7
- Как настроить блоки сервера Nginx на CentOS 7