Статични файлове на домейн чрез Nginx на VPS сървър

За предоставяне на статични файлове на NodeJS или на Express се прави static-сървър. В действителност, не се препоръчва да се прави така, тъй като това работи бавно.

По-оптимално е статиката да се предоставя чрез Nginx. За целта за домейна се прави специална настройка, съдържаща регулярен израз и път към папката със статиката. Нека за пример в нашия домейн папката със статиката да бъде папката public. В този случай ще пропишем следните настройки:

confserver_name test1.com;

location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {             
  root /var/www/test1.com/public;
}

Не е много удобно, че името на домейна трябва да го напишем два пъти, ако това име съвпада с папката на сайта (а при нас за удобство съвпада). Проблемът може да се реши по следния начин:

confserver_name test1.com;

location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {             
  root /var/www/$server_name/public;
}

Нека съберем всички наши настройки заедно и да получим следното:

confserver {
  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;
  }
}
Задание 1

Настройте предоставянето на статиката за и двата тестови сайта. Тествайте я чрез браузъра.