Как установить Nginx на CentOS: пошаговая инструкция

    Команда Simple-Server
    03.06.2026
    7 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Кратко о задаче

    Один из вариантов установки Nginx — установка его из официального репозитория. Но в данной инструкции воспользуемся возможностью установить его последнюю версию.

    1. Для начала создадим файл с настройками нового репозитория, используя текстовый редактор Nano:

    nano /etc/yum.repos.d/nginx.repo

    Теперь его нужно привести к следующему виду,

    [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1

    Должно получиться, как на картинке ниже:

    После ввода необходимых данных сохраняем файл (CTRL+O) и выходим (CTRL+X) из редактора.

    2. Чтобы все внесенные изменения вступили в силу, обновим список всех пакетов. Это может занять некоторое время. На все вопросы системы даем утвердительный ответ — «y». Для обновления пакетов используем:

    3. Когда все пакеты обновлены, можно переходить к установке веб-сервера:

    4. Как только установка будет закончена, нужно добавить службу в автозагрузку. Для этого применяем следующую команду для нашего веб-сервера:

    Сразу после этого проверим результат выполнения предыдущей команды:

    systemctl is-enabled nginx

    Если терминал выводит в строку «enabled», как показано на картинке ниже, значит веб-сервер успешно добавлен в автозагрузку.

    5. Запускаем установленный веб-сервер:

    Дополнительные команды для работы с веб-сервером были подробно описаны в инструкции по установке Nginx на Ubuntu.

    6. Последним шагом будет проверка работоспособности установленного веб-сервера. Для этого вводим команду:

    Показателем успешной установки и работы Nginx в фоновом режиме на сервере будет надпись «active (running)» в поле Active.

    Веб-сервер установлен на Centos 7 и успешно запущен. Теперь перейдем к конфигурации файрвола.

    В операционной системе по умолчанию установлен брандмауэр firewalld. Если он отсутствует по каким-либо причинам, то необходимо выполнить его установку самостоятельно. Для этого вводим в терминал команду:

    По окончании скачивания добавим брандмауэр в автозапуск, а также включим его. Для этого вводим две следующие команды:

    systemctl enable firewalld systemctl start firewalld

    Проверим брандмауэр на наличие в автозагрузке так же, как делали это с веб-сервером:

    systemctl is-enabled firewalld

    Строка «enabled» говорит об успешном добавлении в автозагрузку.

    Теперь нужно открыть 80 (HTTP) и 443 (HTTPS) порты. Это необходимо для обеспечения связи между клиентом и сервером. В случае использования протокола HTTPS эта связь будет безопасной и зашифрованной. Чтобы добавить необходимые протоколы, вводим две следующие команды:

    firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --permanent --zone=public --add-service=https

    Первая команда разрешит стандартный трафик HTTP для интерфейсов в зоне public на постоянной основе (флаг --permanent), а вторая сделает то же самое, но для HTTPS.

    После этого перезагружаем брандмауэр:

    Если всё сделано верно, то при вводе IP-адреса сервера в строку браузера открывается приветственная страница Nginx, как показано на картинке ниже.

    Администрирование веб-сервера заключается в настройке основного конфигурационного файла _nginx.conf_ ,__ а также остальных файлов конфигурации существующих на сервере сайтов.

    Перечислим основные директории для работы с веб-сервером:

    • /etc/nginx — в данной директории хранятся все конфигурационные файлы, в том числе и главный конфигурационный файл nginx.conf.
    • /etc/nginx/conf.d/ — отвечает за хранение файлов конфигурации сайтов, размещенных на веб-сервере.
    • /var/log/nginx — эта директория служит журналом веб-сервера, в котором хранятся файлы с логами. Например, access.log и error.log. Первый отвечает за хранение всех запросов к веб-серверу, а второй регистрирует все ошибки на нем.

    Более подробная инструкция по конфигурации веб-сервера представлена в статье по установке Nginx на Ubuntu. Также в ней подробно описаны все директивы основного конфигурационного файла. В данной инструкции мы не будем вносить в него изменений, а оставим все по умолчанию.

    Настройка серверных блоков

    На веб-сервере может располагаться несколько сайтов, а не только один. Чтобы это сделать, необходимо настроить блоки сервера. Они аналогичны виртуальным хостам в Apache и отвечают за обработку определенных соединений, полагаясь на запрошенное имя домена, IP-адрес или порт.

    В качестве примера создадим сайт centossite.dev и настроим для него серверный блок. Ниже пошагово опишем весь процесс.

    1. Во-первых, организуем директорию для веб-сайта centossite.dev, применив флаг -p, который отвечает за создание необходимых родительских каталогов:

    sudo mkdir -p /var/www/centossite.dev/html

    2. Во-вторых, создадим индексный файл в этом каталоге, чтобы в будущем проверить корректность конфигурации созданного блока сервера:

    nano /var/www/centossite.dev/html/index.html

    3. Теперь нужно заполнить созданный файл минимальным количеством информации:

    <!DOCTYPE html> <html lang="ru"> <head> <title> centossite.dev </title> <meta charset="utf-8"> </head> <body> <h1> Hello, User! Welcome to the centossite.dev </h1> </body> </html>

    Этих данных хватит для тестирования веб-сервера. Сохраняем файл и выходим из редактора.

    4. Следующим шагом будет создание файла конфигурации, чтобы веб-сервер обслуживал ранее созданный веб-сайт. Создадим новый сервер-блок, который будет отвечать за это:

    nano /etc/nginx/conf.d/centossite.dev

    5. Теперь необходимо заполнить файл centossite.dev простой конфигурацией. Воспользуемся той же, что и при установке веб-сервера на Ubuntu.

    server { listen 80; listen [::]:80; server_name centossite.dev www.centossite.dev; root /var/www/centossite.dev/html; index index.html index.xml; location / { try_files $uri $uri/ =404; } }

    Сохраняем файл и выходим из редактора.

    6. На данном этапе необходимо проверить созданный конфигурационный файл на наличие синтаксических ошибок. Для этого воспользуемся командой управления веб-сервером:

    Если никаких ошибок не обнаружено, то в консоли появятся соответствующие сообщения.

    7. Чтобы все изменения вступили в силу, необходимо перезагрузить веб-сервер:

    8. Перед проверкой созданного сайта в браузере обновим контексты безопасности SELinux, чтобы веб-сервер обслуживал содержимое каталога /var/www/centossite.dev. Сделать это можно благодаря следующей команде:

    chcon -vR system_u:object_r:httpd_sys_content_t:s0 /var/www/centossite.dev/

    9. Чтобы посмотреть на результат проделанной работы, необходимо перейти в браузере по домену созданного сайта или IP-адресу сервера. В нашем случае это будет выглядеть так, как продемонстрировано на картинке.


    Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны