Руководство по установке Nginx: Пошаговая инструкция для начинающих

Освойте первоначальную настройку вашего высокоскоростного веб-сервера! Это исчерпывающее руководство проведет новичков через точную, пошаговую установку Nginx на системах Debian/Ubuntu и CentOS/RHEL. Изучите основные команды для запуска, остановки и проверки службы, а также важную конфигурацию брандмауэра для обеспечения немедленной доступности. Запустите свой веб-сервер Nginx в считанные минуты.

Руководство по установке Nginx: пошаговое руководство для начинающих

Вам необходимо установить, запустить и сделать Nginx доступным, прежде чем вы сможете использовать его в качестве веб-сервера, обратного прокси, балансировщика нагрузки или кэша. Это руководство по установке Nginx проведет вас через базовую настройку с помощью менеджера пакетов в системах Debian/Ubuntu и RHEL-стиля Linux, а затем покажет, как проверить службу и открыть брандмауэр.

Команды ниже предполагают сервер на systemd и пользователя с доступом sudo.


Предварительные требования

Перед началом убедитесь, что у вас есть:

  • Сервер или виртуальная машина под управлением Ubuntu, Debian, RHEL, CentOS Stream, Rocky Linux, AlmaLinux или аналогичного дистрибутива.
  • Пользователь без полномочий root с привилегиями sudo.
  • Доступ к оболочке через SSH или локальный терминал.

Установка на системы Debian/Ubuntu

В системах на основе Debian Nginx доступен из стандартных репозиториев. Сначала обновите индекс пакетов, чтобы apt видел актуальные метаданные пакетов.

Шаг 1: Обновление списков пакетов

Выполните следующие команды для обновления локального индекса пакетов:

sudo apt update

Шаг 2: Установка Nginx

Используйте команду apt install для загрузки и установки Nginx и его зависимостей:

sudo apt install nginx

Шаг 3: Проверка статуса установки

После завершения установки служба обычно запускается автоматически. Вы можете проверить ее статус с помощью systemctl:

sudo systemctl status nginx

Вы должны увидеть вывод, указывающий, что служба active (running).

Установка на системы CentOS/RHEL

В системах RHEL-стиля используйте dnf в текущих версиях и yum в более старых. Некоторые дистрибутивы включают Nginx в свои собственные репозитории; другим может потребоваться EPEL или официальный репозиторий поставщика. Если dnf install nginx не может найти пакет, включите EPEL или проверьте примечания по упаковке Nginx вашего дистрибутива.

Шаг 1: Установка репозитория EPEL

Если вашей системе требуется EPEL, сначала установите его.

Для CentOS/RHEL 7:

sudo yum install epel-release

Для CentOS/RHEL 8/9 (с использованием DNF):

sudo dnf install epel-release

Шаг 2: Установка Nginx

Теперь установите Nginx с помощью yum или dnf:

# Использование yum (старые системы)
sudo yum install nginx

# ИЛИ использование dnf (новые системы)
sudo dnf install nginx

Шаг 3: Запуск и включение службы Nginx

В отличие от Debian/Ubuntu, Nginx может не запускаться автоматически после установки в системах на основе RHEL. Вы должны вручную запустить его и включить автозапуск при загрузке системы:

# Запустить службу немедленно
sudo systemctl start nginx

# Обеспечить запуск при перезагрузке
sudo systemctl enable nginx

# Проверить статус
sudo systemctl status nginx

Настройка брандмауэра: разрешить HTTP и HTTPS

После установки убедитесь, что ваш брандмауэр пропускает веб-трафик. Если служба запущена, но порт 80 или 443 заблокирован, ваша проверка в браузере не удастся извне сервера.

Использование UFW на Ubuntu/Debian

Пакет Nginx в Ubuntu обычно регистрирует профили приложений UFW. Откройте как HTTP, так и HTTPS, если планируете вскоре добавить TLS.

# Список доступных профилей приложений
sudo ufw app list

# Разрешить стандартный веб-трафик (HTTP/HTTPS)
sudo ufw allow 'Nginx Full'

# Перезагрузить брандмауэр для применения изменений
sudo ufw reload

Использование Firewalld в системах RHEL-стиля

Firewalld использует зоны для управления правилами. Эти команды добавляют стандартные службы http и https в активную зону по умолчанию.

# Разрешить HTTP-трафик (порт 80)
sudo firewall-cmd --permanent --add-service=http

# Разрешить HTTPS-трафик (порт 443)
sudo firewall-cmd --permanent --add-service=https

# Перезагрузить правила брандмауэра
sudo firewall-cmd --reload

Проверка работы Nginx

После установки пакета и открытия брандмауэра убедитесь, что Nginx отдает стандартную страницу.

Способ 1: Проверка в веб-браузере

Откройте ваш любимый веб-браузер и перейдите по IP-адресу или доменному имени вашего сервера:

http://IP_АДРЕС_ВАШЕГО_СЕРВЕРА

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

Способ 2: Проверка через командную строку

Используйте curl с самого сервера для проверки локального слушателя:

curl http://localhost

Эта команда должна вернуть HTML. Если она не удается локально, проверьте systemctl status nginx и /var/log/nginx/error.log перед устранением неполадок DNS или правил облачного брандмауэра.

Основные команды управления Nginx

После установки вы обычно будете управлять Nginx с помощью systemctl:

Действие Команда
Запустить сервер sudo systemctl start nginx
Остановить сервер sudo systemctl stop nginx
Перезапустить (Остановить, затем Запустить) sudo systemctl restart nginx
Перезагрузить (Применить изменения конфигурации без простоя) sudo systemctl reload nginx
Проверить статус sudo systemctl status nginx
Отключить автозапуск при загрузке sudo systemctl disable nginx

Проверяйте синтаксис конфигурации перед каждой перезагрузкой:

sudo nginx -t
sudo systemctl reload nginx

Эта привычка позволяет выявить пропущенные точки с запятой, неправильные пути включения и конфликты дублирующихся listen до того, как они прервут трафик.

Следующий шаг: создание серверного блока

Стандартная конфигурация отдает страницу приветствия, предоставленную пакетом. В Debian/Ubuntu веб-файлы обычно находятся в /var/www/html. В системах RHEL-стиля корневой каталог по умолчанию часто /usr/share/nginx/html.

Ваш следующий шаг — создать серверный блок для вашего домена. В Debian/Ubuntu часто используется /etc/nginx/sites-available/ с символическими ссылками в /etc/nginx/sites-enabled/. В системах RHEL-стиля чаще используются файлы в /etc/nginx/conf.d/.

После этого добавьте TLS, укажите DNS-запись вашего домена на сервер и выполните sudo nginx -t перед перезагрузкой. На этом этапе ваша установка Nginx готова к реальной настройке сайта.