Статични файлове на домейн чрез Nginx на VPS сървър
За предоставяне на статични файлове на NodeJS или на Express се прави static-сървър. В действителност, не се препоръчва да се прави така, тъй като това работи бавно.
По-оптимално е статиката да се предоставя
чрез Nginx. За целта за домейна
се прави специална настройка,
съдържаща регулярен израз и път към
папката със статиката. Нека за пример
в нашия домейн папката със статиката
да бъде папката public.
В този случай ще пропишем
следните настройки:
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/test1.com/public;
}
Не е много удобно, че името на домейна трябва да го напишем два пъти, ако това име съвпада с папката на сайта (а при нас за удобство съвпада). Проблемът може да се реши по следния начин:
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/$server_name/public;
}
Нека съберем всички наши настройки заедно и да получим следното:
server {
listen 80;
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/$server_name/public;
}
location / {
proxy_pass http://localhost:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Настройте предоставянето на статиката за и двата тестови сайта. Тествайте я чрез браузъра.