Statické soubory domény přes Nginx na VPS serveru
Pro vydávání statických souborů na NodeJS nebo na Express se vytváří static-server. Ve skutečnosti se to nedoporučuje, protože to běží pomalu.
Více optimální je vydávat statiku
přes Nginx. K tomu se pro doménu
provádí speciální nastavení,
obsahující regulární výraz a cestu k
složce se statikou. Nechť pro příklad
v naší doméně bude složka se statikou
složka public.
V tomto případě napíšeme
nasledující nastavení:
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/test1.com/public;
}
Přitom není moc pohodlné, že jméno domény musíme napsat dvakrát, pokud se toto jméno shoduje se složkou webu (a u nás pro pohodlí se shoduje). Problém lze vyřešit následujícím způsobem:
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/$server_name/public;
}
Pojďme dát dohromady všechna naše nastavení a dostaneme následující:
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;
}
}
Nastavte vydávání statiky pro oba testovací weby. Otestujte ji přes prohlížeč.