Nginx — это высокопроизводительный веб-сервер с открытым исходным кодом. Он известен своей стабильностью, очень простой конфигурацией, богатым набором функций и низким потреблением ресурсов.

Nginx позволяет использовать его в качестве обратного прокси-сервера, балансировщика нагрузки, HTTP-кэша и почтового прокси.

Виртуальный хост — это термин Apache, однако он также часто используется пользователями Nginx. Правильный термин для Nginx — «блок сервера».

В этом гайде мы покажем вам, как настроить виртуальный хост Nginx на сервере CentOS 8.

Первым делом обновим систему.

# dnf update

Установка Nginx

# dnf install nginx

 Добавляем в автозагрузку и запускаем Nginx.

# systemctl start nginx
# systemctl enable nginx

Откройте веб-браузер и перейдите на свой сервер http://server-ip/ вы увидите что-то вроде этого.

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

По умолчанию Nginx настроен для загрузки всех файлов конфигурации, заканчивающихся на .conf, из каталога /etc/nginx/conf.d/.

# nano /etc/nginx/conf.d/example.com.conf

server {
listen 80;
server_name example.com www.example.com;
root /home/example.com;
index index.php index.html index.htm;

access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;

}

Создать домашнюю папку виртуального хоста.

# mkdir -p /home/example.com

Nginx должен стать владельцем этой папки.

# chown -R nginx: /home/example.com

Чтобы проверить конфигурацию Nginx, выполните следующую команду.

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Перезапустите сервис Nginx.

# systemctl restart nginx

Проверяем виртуальный хост

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

# nano /home/example.com/index.html
<html>
        <body>
              <h1>Welcome to Test Page <br> The Virtual Host is working</h1>
        </body>
</html>

Зайдите в ваш браузер и введите доменное имя. Вы должны увидеть следующее.


Виртуальные хосты Nginx или серверные блоки — отличный способ добавить дополнительные веб-сайты на один и тот же сервер.