Skip to content

Nginx. Работа с виртуальными хостами

Виртуальный хост — это конфигурация одного сайта в Nginx: домен, порт, корневой каталог файлов и правила обработки запросов. Один процесс Nginx обслуживает много сайтов, и каждому сайту соответствует свой server-блок в конфигурации. В панели BeAdmin хост можно создавать и редактировать через форму с полями (режим конструктора), а для нестандартных директив — переключиться в режим эксперта и править исходный конфиг. Эта статья — про режим конструктора: создание, редактирование, включение и выключение, удаление. Для установки самого модуля Nginx и общего управления сервисом — отдельная статья.

Создание виртуального хоста

  1. В боковом меню раздела Nginx нажмите «Создать виртуальный хост».
  2. Откроется страница в режиме конструктора. Заполните поля и нажмите «Создать».

💡 Сохранение черновика в браузере

Если вы начали заполнять форму создания хоста и закрыли её, не нажав «Создать», панель запомнит ваш ввод — независимо от того, заполняли вы форму в режиме конструктора или эксперта. Когда вернётесь к созданию хоста, появится диалог: «Вы начали заполнять форму ранее. Хотите продолжить?» Кнопка «Продолжить» подгрузит сохранённый ввод обратно в форму. Черновик сбрасывается после успешного создания хоста или явного отказа продолжить.

Дальше — что значит каждое поле формы.

Доменное имя

Доменное имя хоста — то, по которому сайт будет доступен извне. В поле принимается доменное имя или IP-адрес (IPv4 или IPv6); первое подойдёт для обычного сайта, второе — когда сервер отдаёт сайт без DNS-записи.

Два хоста с одинаковой парой «домен + порт» создать нельзя — если такая пара уже занята, панель сообщит об этом и не даст сохранить форму. Поэтому example.com на 80 и на 8080 одновременно поднять можно, а два раза example.com на 80 — нет.

После создания хоста доменное имя поменять нельзя. Если домен надо сменить, удобнее создать новый хост и удалить старый.

Подключение по HTTPS или HTTP

Протокол и порт хоста выбираются переключателем «Подключение по HTTPS (порт 443)» / «Подключение по HTTP (порт 80)». По умолчанию включён HTTPS — это рекомендуемый вариант. Когда HTTPS включён, при создании хоста BeAdmin автоматически выпускает сертификат Let's Encrypt и в дальнейшем продлевает его, пока хост существует.

Если выпуск сертификата завершился ошибкой, хост создаётся с самоподписанным сертификатом-заглушкой, и панель показывает уведомление «Виртуальный хост настроен с самоподписанным сертификатом». Подробнее о том, как устроен выпуск и как перевыпустить сертификат вручную — в статье Выпуск SSL-сертификата; разбор конкретных сообщений об ошибках — в Решение ошибок ACME при выпуске SSL-сертификата.

Чтобы поднять сайт на нестандартном порту (внутренний сервис, несколько сайтов на разных портах одного домена), нажмите «Указать порт вручную» и укажите номер. Допустим любой свободный порт в диапазоне 1–65535.

⚠️ HTTPS только на стандартном порту 443

BeAdmin выпускает сертификат Let's Encrypt только на стандартном HTTPS-порту 443. Если вы выбрали нестандартный порт, работайте по HTTP, а если HTTPS обязателен — подключите свой сертификат вручную через режим эксперта.

Имена index-файлов

Поле задаёт, какие файлы Nginx отдаёт по запросу к каталогу — например, при заходе на https://example.com/. По умолчанию — index.html index.htm. Имена пишутся в одну строку через пробел, в порядке приоритета.

Символы ?, :, ,, ; в имени не допускаются — панель их не пропустит и покажет предупреждение.

Если в хосте есть правило с PHP, index.php автоматически становится первым в списке — отдельно его прописывать не нужно. При удалении PHP-правила index.php так же автоматически уходит из списка.

Путь к файлам

Корневая папка с файлами сайта — то, что в конфиге Nginx попадает в директиву root. Каталог можно выбрать через диалог выбора каталога или ввести путь руками.

Каталог должен существовать на сервере и быть читаемым процессом Nginx, иначе сайт ответит ошибкой 403 или 404. Если планируете класть файлы позже — создайте пустой каталог заранее.

Правила (locations)

Правила — это блоки location в конфиге Nginx, которые определяют, как обрабатывать запросы по разным URL-путям: отдавать статику, передавать запрос в PHP, проксировать на другой сервис, делать редиректы. Чтобы добавить правило к хосту, разверните блок «Дополнительные опции» под основными полями и нажмите «Добавить правило» — панель предложит выбрать шаблон:

  • Корневое правило — обработка запросов в корне сайта; всегда есть в хосте.
  • Простой — статичный ответ или базовая отдача файлов по пути.
  • PHP (FastCGI) — передача запросов в PHP-FPM.
  • Проксированиеproxy_pass на upstream (например, на Apache, Node-приложение, Docker-контейнер).

Подробности по каждому шаблону, добавлению и удалению правил — в статье Nginx. Как настроить правила (location) для виртуального хоста.

Связка Nginx и Apache

Если на сервере установлены оба модуля, схема одна: Nginx стоит впереди и принимает запросы из интернета на 80/443, а Apache работает бэкендом на локальных портах 127.0.0.1:8808 (HTTP) и 127.0.0.1:8843 (HTTPS). PHP, .htaccess и Apache-модули обрабатываются на стороне Apache; Nginx проксирует запросы и при необходимости отдаёт статику напрямую.

Автонастройка работает в одну сторону. Если Apache устанавливается, когда Nginx уже стоит — BeAdmin сам подберёт для Apache локальные порты 127.0.0.1:8808/8843. Если же сначала был установлен Apache, а Nginx добавляется поверх — на странице модуля Nginx появится предупреждение о конфликте, и Apache нужно перевести в бэкенд-режим вручную: переустановите модуль Apache на локальных портах 127.0.0.1:8808/8843.

В виртуальном хосте Nginx для такой связки достаточно одного правила типа «Проксирование» с адресом http://127.0.0.1:8808 — TLS терминируется на Nginx, так что обращаться к 8843 обычно не нужно. Как настроить такое правило — в статье Nginx. Как настроить правила (location) для виртуального хоста. Про настройку Apache — в Apache. Быстрый старт.

Редактирование виртуального хоста

Откройте хост из бокового списка раздела Nginx — отобразится та же форма, что и при создании, с двумя отличиями:

  • Поле «Доменное имя» неактивно — после создания домен не меняется.
  • Порт всегда виден отдельным полем (без HTTPS-переключателя), и его можно поменять напрямую. Если выставить 443, BeAdmin будет считать хост HTTPS-сайтом и при сохранении выпустит сертификат Let's Encrypt.

Чтобы сохранить изменения, нажмите «Обновить» — кнопка активна только при несохранённых изменениях. Как и при создании, перед применением панель проверяет конфиг и при ошибке оставляет предыдущую рабочую версию.

Включение и выключение хоста

Состояние хоста переключается рядом с кнопкой сохранения:

  • На странице создания — «Включить хост» / «Выключить хост» (выбор начального состояния).
  • На странице существующего хоста — «Хост включён» / «Хост выключен» (изменения применяются по кнопке «Обновить»).

Когда хост выключен, основной server-блок убирается из конфигурации — сайт перестаёт отвечать на запросы, но запись хоста и его настройки в BeAdmin сохраняются, и хост можно включить обратно в любой момент. SSL-сертификат при этом продолжает автоматически продлеваться. После повторного включения сайт снова заработает по HTTPS без дополнительных действий.

Удаление виртуального хоста

Удалить хост можно по иконке корзины рядом с ним в боковом списке. Чтобы исключить случайное удаление, панель попросит подтвердить операцию вводом имени хоста.

При удалении хоста стираются файл конфигурации Nginx и его логи. Каталог с файлами сайта (тот, что был указан в поле «Путь к файлам») сохраняется — это защита от потери данных при случайном удалении хоста. Если каталог больше не нужен, удалите его вручную.

Режим эксперта

Если стандартной формы конструктора не хватает — например, нужен кастомный try_files, нестандартные access_log, дополнительные fastcgi_param или rate-limiting, — переключитесь в режим эксперта кнопкой «В режим эксперта» в нижней панели формы. Возврат — по кнопке «В режим конструктора».

Подробности по режиму эксперта — стартовый шаблон, переключение между режимами без потери настроек, ручное подключение PHP-FPM — в статье Nginx. Виртуальные хосты в режиме эксперта.

Полезные ссылки

BeAdmin © 2025. Все права защищены.