Руководство по установке 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 готова к реальной настройке сайта.