Staattiset tiedostot verkkotunnuksen kautta Nginxillä VPS-palvelimella
Staattisten tiedostojen jakamiseksi NodeJS:llä tai Expressillä tehdään statiikkapalvelin. Itse asiassa tämän tekemistä ei suositella, koska se toimii hitaasti.
Optimaalisempaa on jakaa staattiset tiedostot
Nginxin kautta. Tätä varten verkkotunnukselle
tehdään erityisasetus,
joka sisältää säännöllisen lausekkeen ja
polun staattisten tiedostojen kansioon. Olkoon esimerkkinä
meidän verkkotunnuksessamme staattisten tiedostojen kansio
kansio public.
Tässä tapauksessa kirjoitamme
seuraavat asetukset:
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/test1.com/public;
}
Samalla ei ole kovin kätevää, että verkkotunnuksen nimen meidän on kirjoitettava kahdesti, jos tämä nimi vastaa sivuston kansiota (ja meillä se sopivuuden vuoksi vastaa). Ongelman voi ratkaista seuraavalla tavalla:
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/$server_name/public;
}
Kerätään kaikki asetuksemme yhteen ja saadaan seuraava:
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;
}
}
Määritä staattisten tiedostojen jakaminen molemmille testisivustoille. Testaa sitä selaimen kautta.