Statické súbory domény cez Nginx na VPS serveri
Na odovzdávanie statických súborov na NodeJS alebo na Express sa robí static-server. V skutočnosti sa to neodporúča, pretože to beží pomaly.
Optimálnejšie je odovzdávať statické súbory
cez Nginx. Na to sa pre doménu
vykoná špeciálne nastavenie,
obsahujúce regulárny výraz a cestu k
priečinku so statickými súbormi. Nech pre príklad
v našej doméne priečinok so statickými súbormi
bude priečinok public.
V tomto prípade napíšeme
nasledujúce nastavenia:
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/test1.com/public;
}
Nie je veľmi pohodlné, že názov domény musíme napísať dva krát, ak tento názov zodpovedá priečinku webu (a u nás pre pohodlie zodpovedá). Problém je možné vyriešiť nasledujúcim spôsobom:
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/$server_name/public;
}
Poďme zhromaždiť všetky naše nastavenia dohromady a získame nasledovné:
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;
}
}
Nakonfigurujte odovzdávanie statických súborov pre obidva testovacie weby. Otestujte ho cez prehliadač.