Statische bestanden van het domein via Nginx op een VPS server
Om statische bestanden uit te leveren op NodeJS of op Express wordt een static-server gemaakt. Eigenlijk wordt dit niet aanbevolen, omdat het traag werkt.
Het is meer optimaal om statische content
via Nginx uit te leveren. Hiervoor wordt voor het domein
een speciale instelling gemaakt,
bevattende een regex en het pad naar
de map met de statische bestanden. Laten we voor het voorbeeld
aannemen dat in ons domein de map met statische bestanden
de map public is.
In dit geval schrijven we de
volgende instellingen:
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/test1.com/public;
}
Hierbij is het niet erg handig dat we de domeinnaam twee keer moeten opschrijven, als deze naam overeenkomt met de map van de website (en bij ons komt deze voor het gemak overeen). Het probleem kan op de volgende manier worden opgelost:
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/$server_name/public;
}
Laten we al onze instellingen samenvoegen en we krijgen het volgende:
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;
}
}
Stel het uitleveren van statische bestanden in voor beide testwebsites. Test het via de browser.