Statische Dateien einer Domain über Nginx auf einem VPS-Server
Um statische Dateien auf NodeJS oder auf Express auszuliefern, wird ein Static-Server eingerichtet. Tatsächlich wird dies nicht empfohlen, da es langsam arbeitet.
Optimaler ist es, Statik
über Nginx auszuliefern. Dafür wird für die Domain
eine spezielle Einstellung vorgenommen,
die einen regulären Ausdruck und den Pfad zum
Ordner mit der Statik enthält. Nehmen wir als Beispiel an,
dass in unserer Domain der Ordner mit der Statik
der Ordner public sei.
In diesem Fall schreiben wir die
folgenden Einstellungen:
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/test1.com/public;
}
Dabei ist es nicht sehr praktisch, dass wir den Domainnamen zweimal schreiben müssen, wenn dieser Name mit dem Ordner der Website übereinstimmt (und bei uns stimmt er der Einfachheit halber überein). Das Problem kann auf folgende Weise gelöst werden:
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/$server_name/public;
}
Lassen Sie uns alle unsere Einstellungen zusammenfassen und wir erhalten Folgendes:
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;
}
}
Richten Sie die Auslieferung der Statik für beide Test-Websites ein. Testen Sie sie über den Browser.