Руководство по установке Nginx: Пошаговое для начинающих
Добро пожаловать в мир высокопроизводительных веб-серверов! Nginx (произносится «инжи-экс») стал стандартом де-факто для отдачи статического контента, а также используется в качестве обратного прокси, балансировщика нагрузки и HTTP-кэша. Для начинающих правильная первоначальная установка — это важнейший первый шаг на пути к использованию его скорости и эффективности.
В этом руководстве представлены четкие, практические пошаговые инструкции по установке Nginx в наиболее распространенных дистрибутивах Linux (Debian/Ubuntu и CentOS/RHEL). Мы также рассмотрим важные шаги по проверке после установки, чтобы убедиться, что ваш веб-сервер работает правильно и готов обрабатывать трафик.
Предварительные требования
Прежде чем приступить к процессу установки, убедитесь, что у вас есть:
- Сервер или виртуальная машина с поддерживаемым дистрибутивом Linux (Ubuntu/Debian или CentOS/RHEL).
- Настроенный непривилегированный (non-root) пользователь с правами
sudoдля выполнения административных задач. - Базовое знакомство с интерфейсом командной строки Linux (CLI).
Установка в системах Debian/Ubuntu
В системах на базе Debian Nginx легко доступен в стандартных репозиториях пакетов. Мы рекомендуем сначала обновить список пакетов, чтобы получить самую последнюю доступную версию.
Шаг 1: Обновление списков пакетов
Выполните следующие команды для обновления локального индекса пакетов:
sudo apt update
Шаг 2: Установка Nginx
Используйте команду apt install для загрузки и установки Nginx и его зависимостей:
sudo apt install nginx
Шаг 3: Проверка статуса установки
После завершения установки служба обычно запускается автоматически. Вы можете проверить ее статус с помощью systemctl:
sudo systemctl status nginx
Вы должны увидеть вывод, указывающий, что служба находится в состоянии active (running) (активна (запущена)).
Установка в системах CentOS/RHEL
В производных от Red Hat Enterprise Linux (RHEL), таких как CentOS или Fedora, Nginx обычно устанавливается с помощью менеджера пакетов yum или dnf. Поскольку Nginx может отсутствовать в стандартном базовом репозитории, для получения последней стабильной версии часто рекомендуется установка из официального репозитория EPEL (Extra Packages for Enterprise Linux).
Шаг 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 трафика
Важным шагом после установки является обеспечение того, чтобы ваш брандмауэр разрешал внешним подключениям достигать веб-сервера. Если вы пропустите этот шаг, внешние пользователи не смогут увидеть ваш сайт.
Использование UFW (Uncomplicated Firewall — часто встречается в Ubuntu/Debian)
При установке Nginx регистрирует специальные профили в UFW. Мы рекомендуем открыть порт 80 (HTTP) и опционально порт 443 (HTTPS).
# Показать доступные профили приложений
sudo ufw app list
# Разрешить стандартный веб-трафик (HTTP/HTTPS)
sudo ufw allow 'Nginx Full'
# Перезагрузить брандмауэр для применения изменений
sudo ufw reload
Использование Firewalld (часто встречается в CentOS/RHEL)
Firewalld использует зоны для управления правилами. Обычно мы добавляем службы в зону public.
# Разрешить 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://YOUR_SERVER_IP_ADDRESS
При успехе вы должны увидеть стандартную приветственную страницу Nginx, на которой обычно написано: "Welcome to nginx!" (Добро пожаловать в nginx!).
Способ 2: Проверка через командную строку
Используйте команду curl для получения содержимого индексной страницы непосредственно с localhost сервера:
curl http://localhost
Эта команда должна вернуть HTML-исходный код приветственной страницы.
Основные команды управления Nginx
После установки вы будете часто использовать systemctl для управления процессом Nginx. Вот наиболее распространенные команды:
| Действие | Команда |
|---|---|
| Запустить сервер | sudo systemctl start nginx |
| Остановить сервер | sudo systemctl stop nginx |
| Перезапустить (Остановить, затем Запустить) | sudo systemctl restart nginx |
| Перезагрузить (Применить изменения конфигурации без простоя) | sudo systemctl reload nginx |
| Проверить статус | sudo systemctl status nginx |
| Отключить автозапуск при загрузке | sudo systemctl disable nginx |
Совет по лучшей практике: При внесении изменений в файлы конфигурации (например,
/etc/nginx/nginx.conf) всегда проверяйте синтаксис перед перезагрузкой. Используйтеsudo nginx -tдля проверки ошибок. Если проверка прошла успешно, затем используйтеsudo systemctl reload nginxдля плавного применения изменений.
Куда двигаться дальше: Начальная настройка
Поздравляем, Nginx установлен и работает! Стандартная конфигурация отдает контент из /var/www/html/index.nginx-debian.html (в Debian/Ubuntu) или /usr/share/nginx/html/index.html (в CentOS/RHEL).
Ваши следующие шаги включают создание Блока сервера (часто называемого Виртуальным хостом) для определения расположения фактических файлов вашего веб-сайта и того, как Nginx должен обрабатывать запросы для вашего домена. Файлы конфигурации для этих блоков обычно хранятся в /etc/nginx/sites-available/ и связаны с /etc/nginx/sites-enabled/.
Эта первоначальная установка обеспечивает основу, на которой вы можете строить высокопроизводительные хостинговые среды, решения для балансировки нагрузки и безопасные прокси-конфигурации.