Close

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

Так как nginx используется для веб-серверов, то нам осталось создать свой виртуальный сервер.

На одном физическом сервере можно разместить несколько виртуальных. Файлы виртуальных серверов хранятся в отдельных директориях и для каждого в nginx создается конфигурация. Как правило, виртуальный сервер имеет свое доменное имя.

Создадим директорию для нашего хоста:

Добавление ключа p к команде mkdir создаст весь путь до конченой директории.

На эту директорию нужно выдать права для пользователя, от которого у нас запускается nginx. По умолчанию это пользователь www-data.

Важно убедиться также что любой пользователь может читать файлы из директории www:

 

Теперь нам нужно создать индексный файл, который будет отображаться по запросу в браузере.

Добавим в него содержимое в виде html – кода:

Сохраним его и закроем текстовый редактор nano.

Теперь нам нужно сообщить nginx где искать файлы нашего хоста. Для этого используются файл конфигурации виртуальных хостов. По умолчанию он хранится по адресу /etc/nginx/sites-available. Создадим свою конфигурацию на основе конфигурации по умолчанию:

Теперь откроем файл для редактирования и немного изменим его содержимое.

Первой директивой мы указываем, что весь трафик пришедший на порт 80 будет направлен на наш хост.
Указание root хоста сообщает серверу директорию где он будет искать стартовый файл для отображения в ответ на запрос.
Директива indeх указывает приоритет типов файлов при обработке запроса.

Перезапустим nginx

Если вы используете доменное имя, которое приобрели у регистратора, то вам нужно указать IP адрес вашего сервера, на котором вы создали хост. В другом случае вы можете использовать локальный домен. Но чтобы ваш браузер знал его адрес, необходимо внести изменения в файл hosts.

Добавьте запись с именем вашего локального домена и IP адресом вашего сервера.

Если пользователь из локальной сети проделает эту же процедуру с файлом hosts, то по запросу в браузере example.com он попадет к вам на домен.

Естественно, большинство веб-серверов отображают не статические страницы, а генерируемые с помощью различных языков программирования, например, таких как php или python. Для взаимодействия этих языков с веб-сервером существуют специальные интерфейсы, php-fpm или uwsgy.

В следующих постах, я расскажу вам как подружить Nginx c различными backend – серверами.

Поделиться: