1. Введение
Nginx стал популярным веб-сервером с открытым исходным кодом, используемым для обслуживания контента в Интернете.
Высокая производительность и масштабируемость делают его предпочтительным выбором среди разработчиков и системных администраторов.
Одним из наиболее значимых преимуществ Nginx является его способность работать с несколькими веб-сайтами или виртуальными хостами на одном сервере.
🌐 Nginx или Apache: Сравнение двух ведущих веб-серверов
В этой статье мы рассмотрим концепцию виртуальных хостов и то, как перечислить все виртуальные хосты в Nginx.
2. Виртуальные хосты
Виртуальные хосты, также известные как серверные блоки, – это способ размещения нескольких веб-сайтов или доменов на одном сервере.
Соответственно, Nginx использует виртуальные хосты для маршрутизации запросов к соответствующему веб-сайту на основе доменного имени в запросе.
Каждый виртуальный хост имеет свою собственную конфигурацию, включая доменное имя, корневой каталог и другие настройки.
Правильно настроенные виртуальные хосты необходимы для обеспечения бесперебойной работы веб-сайтов.
Неправильная настройка виртуальных хостов может привести к простою или ошибкам в работе сайта, что негативно скажется на удобстве пользователей и приведет к потере прибыли.
3. Список всех виртуальных хостов
Чтобы перечислить все виртуальные хосты в Nginx, можно воспользоваться следующей командой:
3. Список всех виртуальных хостов
Чтобы перечислить все виртуальные хосты в Nginx, можно воспользоваться следующей командой:
$ sudo nginx -T
Эта команда отобразит всю конфигурацию Nginx, включая все виртуальные хосты.
Вывод будет довольно длинным, поэтому мы можем использовать команду grep для фильтрации вывода и отображения только конфигурации виртуальных хостов:
$ sudo nginx -T | grep server_name
Система отобразит директиву server_name для каждого виртуального хоста:
server_name example.com;
server_name www.example.com;
server_name example2.com;
Первая команда, sudo nginx -T, отображает всю конфигурацию Nginx, включая все виртуальные хосты.
Параметр -T указывает Nginx на отображение конфигурации в человекочитаемом формате.
Вторая команда, sudo nginx -T | grep server_name, использует символ трубы (|), чтобы отправить вывод первой команды команде grep.
Команда grep фильтрует вывод, чтобы отобразить только строки, содержащие строку server_name.
Это связано с тем, что директива server_name определяет доменное имя для каждого виртуального хоста.
В выводе отображается директива server_name для каждого виртуального хоста.
В этом примере у нас есть три виртуальных хоста: example.com, www.example.com и example2.com.
см. также:
- 🌐 Как разрешить в Nginx только методы GET и POST
- 🌐 Блокировка IP-адресов на Nginx
- 🌐 Ограничение доступа к URL на NGINX