Nginx − популярный веб-сервер, отличающийся высокой производительностью, стабильностью и низким потреблением ресурсов. Nginx разработан для обслуживания высоконагруженных веб-сайтов с акцентом на производительность и эффективность.
Вместо традиционной многопоточной модели, активно расходующей системные ресурсы при росте числа клиентов, Nginx использует асинхронную, событийно-ориентированную модель. Это позволяет одному рабочему процессу эффективно обрабатывать большое количество одновременных соединений через неблокирующие вызовы и специальные механизмы мультиплексирования событий.
В статье разберём, как установить Nginx на виртуальный выделенный сервер под управлением Rocky Linux 9 и настроить с его помощью публикацию простого одностраничного веб-сайта.
Как установить Nginx на Rocky Linux
Стабильная версия Nginx доступна для установки из официальных репозиториев Rocky Linux, поэтому её инсталляция выполняется одной командой с использованием пакетного менеджера DNF:
$ sudo dnf install nginx
При установке в системе создаётся специальная служба для управления веб-сервером. Чтобы служба стартовала вместе с загрузкой системы, установите её в автозапуск с одновременным запуском в настоящий момент:
$ sudo systemctl enable --now nginx
После чего убедитесь, что служба работает без ошибок. Для этого выведите на экран её текущее состояние:
$ systemctl status nginx
Вывод команды не должен содержать сообщений о каких-либо алертах.

Подтверждением того, что веб-сервер установлен и работает, даже если на нём ещё не размещён сайт, служит тестовая страница Nginx. Данная страница доступна по IP-адресу сервера, на котором проинсталлирован веб-сервер. И поскольку тестовая страница, как и сайт, который будет настроен на Nginx впоследствии, изначально должны быть доступны по протоколу HTTP, необходимо открыть доступ к серверу для данного протокола. Чтобы это сделать, добавьте в брандмауэр Firewalld разрешающее правило для соответствующей службы:
$ sudo firewall-cmd --permanent --add-service=http
Убедиться в успешном добавлении правила можно через вывод настройки текущей конфигурации брандмауэра:
$ sudo firewall-cmd --permanent --list-all

Чтобы применить изменённую конфигурацию, перезапустите Firewalld:
$ sudo firewall-cmd --reload
Затем откройте браузер и перейдите на http://X.X.X.X, где вместо X.X.X.X укажите IP-адрес своей виртуальной машины.

Браузер должен отобразить стандартную тестовую страницу веб-сервера Nginx для Rocky Linux.
Как запустить веб-сайт на Nginx
Чтобы разместить на Nginx веб-сайт, необходимо настроить привязку доменного имени сайта к IP-адресу сервера. Такая настройка осуществляется при помощи специальной DNS-записи, которая называется A-запись. A-запись отвечает за направление имени домена на IP-адрес узла, на котором домен размещён. Такую настройку можно произвести на сайте-регистраторе домена, либо в личном кабинете RUVDS, перейдя во вкладку Домены.

Для запуска в Nginx простого статического веб-сайта создайте каталог, в котором будут размещаться его файлы. В данном случае замените your-site-name.ru на доменное имя вашего сайта:
$ sudo mkdir -p /var/www/your-site-name.ru/html/
Затем измените на текущего пользователя владельца и группу файлов и директорий внутри созданного каталога. Это позволит вашему пользователю получить полный контроль над содержимым каталога, чтобы добавлять, изменять, удалять и управлять файлами сайта:
$ sudo chown -R $USER:$USER /var/www/your-site-name.ru/html/
Далее установите на каталог стандартные права доступа для того, чтобы его владелец мог изменять файлы, а веб-сервер мог безопасно их использовать:
$ sudo chmod -R 755 /var/www/your-site-name.ru/
После чего перейдите в данный каталог:
$ cd /var/www/your-site-name.ru/html/
Создайте там файл главной страницы сайта:
$ sudo vi index.html
В нашем примере HTML-разметка веб-страницы выглядит следующим образом:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Ваш сайт на Nginx</title>
<style>
body {
background: #eeeeee;
font-family: Arial, sans-serif;
text-align: center;
padding: 50px;
}
p { color: #0066cc; }
</style>
</head>
<body>
<p><b>Ваш сайт работает</b></p>
<p>Веб-сервер Nginx настроен</p>
</body>
</html>
После внесения изменений закройте файл с сохранением. Затем перейдите в каталог, в котором хранятся дополнительные конфигурационные файлы Nginx, подключаемые к основной конфигурации:
$ cd /etc/nginx/conf.d/
Здесь создайте конфигурационный файл для вашего сайта. В команде ниже вместо your-site-name.ru используйте имя вашего домена:
$ sudo vi your-site-name.ru.conf
Чтобы запустить веб-страницу, достаточно минимальной конфигурации, например, приведённой ниже. В данном случае также замените your-site-name.ru на доменное имя вашего сайта:
server {
listen 80;
server_name your-site-name.ru www.your-site-name.ru;
root /var/www/your-site-name.ru/html;
index index.html;
}
Закройте файл, сохранив изменения, и перед перезапуском сервиса проверьте синтаксис Nginx на корректность:
$ sudo nginx -t
Вывод команды должен выглядеть примерно как на скриншоте ниже.

Если ошибок нет, перезапустите конфигурацию веб-сервера, чтобы применились все внесённые изменения:
$ sudo systemctl reload nginx
После чего откройте браузер и проверьте доступность своего сайта по его доменному имени.

