Настройка виртуального хоста Nginx


Настройка виртуального хоста Nginx нужна на этапе запуска сервера, который обслуживает сайт или сайты.


Разберем как создается конфигурационный файл при установке Nginx перед Apache и настройке их работы в связке.


Настройка виртуального хоста Nginx — его общий вид (для связки Nginx-Apache)


Типовой конфигурационный файл Nginx при работе в связке с Apache выглядит приведенным ниже образом:


cat /etc/nginx/sites-available/example.com

server {
listen *:80;

server_name example.com;
access_log /var/log/nginx/access.log;

location / {
proxy_pass 127.0.0.1:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 120;
proxy_send_timeout 120;
proxy_read_timeout 180;
}

location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|html|txt)$ {
root /home/website/example.com/;
}
}



Настройка виртуального хоста Nginx в примере включает кэширование и проксирование на бэкенд (Apache) на адрес 127.0.0.1 и порт 8080.

Если Nginx применяется без Apache и используется для проксирования в php-fpm, nodejs, приложение на python конфигурационный файл будет выглядеть иначе.


Основным отличием будет иной порт для проксирования трафика.



Когда конфигурационный файл создан нужно активировать сайт:

ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/



Команда создаст в каталоге /etc/nginx/sites-enabled/ символьную ссылку на /etc/nginx/sites-available/example.com.

Веб-сервер будет считывать все файлы в /etc/nginx/sites-enabled/ (в его настройках по умолчанию есть правило include /etc/nginx/sites-enabled/*;).

Подробнее про основной конфигурационный файл сервиса.



В завершение потребуется проверить получившуюся конфигурацию

nginx -t



И в случае если ошибок нет — дать веб-серверу команду о необходимости перечитывания конфигурационных файлов

nginx -s reload



Пример успешной проверки конфигурации и перезапуска процесса представлен на скриншоте:

Настройка виртуального хоста Nginx


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


Проверить, верно ли отрабатывает директива можно используя специализированные внешние сервисы.

В них указывается полный URL с путем к файлу, который должен кэшироваться. Обычно это путь к изображению, CSS или JS файлу.

Сказать спасибо