Как настроить virtual hosts в Nginx на Ubuntu 16.04

Настройка virtual hosts на веб сервере Nginx называется server blocks (термин virtual hosts  используется в веб сервере Apache)

Дальше по тексту будет использовать термины nginx, т.е. server blocks.

Для настройки virtual hosts в Nginx нам нужен сервер (физический, виртуальный или живой VPS)  с установленной операционной системой Ubuntu 16.04 serevr и установленным веб сервером Nginx.

В данном примере будем настраивать virtual hosts для двух вымышленных доменов test.com и virtual.com

Инструкция по настройке virtual hosts (виртуальных хостов) на Nginx в Ubuntu 16.04 server

 

Шаг № 1 Настройка главной директории

По умолчанию в Nginx на Ubuntu 16.04 главный каталог настроен в директорию /var/www/html

Создадим директории для каждого из доменов в папке /var/www

Выполним команды:

Настроим права доступа для всех папок и подпапок в директории /var/www командой:

Структура для будущих сайтов test.com и virtual.com — готовы.

Шаг № 2 Создадим простую страницу для каждого из сайтов

Для каждого из сайтов создадим простую страниц вида index.html

Выполним следующую команду:

В созданный файл добавим следующий текст:

Сохраняем файл и выходим.

Создаем такой же файл для сайт virtual.com

И добавляем такой же текст. Меня только название домена

Сохраняем и выходим.

Шаг № 3 Настраиваем server blocks (virtual hosts) в Nginx

Для настроек virtual hosts возьмем за основу файл default, который по умолчанию уже есть в Nginx.

Создадим настройки для сайта test.com, выполнив следующую команду :

После копирования файла из default в файл test.com внесем в него нужные правки и в итоге должны получить файл test.com следующего вида :

Сохраняем и закрываем файл.

Создаем файл настроек для сайт virtual.com скопировав уже готовый конфиг для сайт test.com командой:

Откроем новый файл virtual.com для редактирования командой:

И в несем в него правки, что бы получить файл такого вида:

 

Шаг № 4 Активируем serever blocks (virtual hosts) и перезапускаем Nginx

Теперь когда файлы настроке для сайтов test.com и virtual.com готовы, сделаем их активными следующими командами:

Чтобы избежать потенциальных проблем с памятью, которые могут возникнуть из-за дополнительных имён сервера, отредактируйте файл /etc/nginx/nginx.conf:

Найдите директиву server_names_hash_bucket_size и раскомментируйте её:

Сохраняем и закрываем файл.

Проверьте синтаксис Nginx на наличие ошибок командой:

И если все настроено правильно мы увидим примерно следующий ответ от Nginx:

После этого смело перезапускаем веб сервер Nginx,  что бы внесенные нами изменения вступили в силу, командой:

Примечание:

Домены: test.com и virtual.com — замените на свои реальные домены. Актуально для VPS или сервера который смотрит в мир.

Если вы работает с VPS то нужно в панели управления доменов, добавить А-запись с IP адресом VPS. Подождать пока данные о маршруте домена вступят в силу и проверить в браузер введя:

Если все сделано правильно вы увидите свою index.html страницу.

virtual hosts server blocks nginx

Если вы работает с виртальным сервером созданым на своем компьютере то нужно внести в файл host (для linux /etc/hosts) IP адрес виртуального сервера (при условии, что не используете NAT, а используете dhcp и ваш сервер в той же локальной сети что и ваш основной компьютер)

Файл /etc/hosts будет выглядить примерно следующим образом:

Удачи!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *