Statyczne pliki domeny przez Nginx na serwerze VPS
Aby dostarczać statyczne pliki na NodeJS lub na Express tworzy się serwer static. W rzeczywistości nie jest to zalecane, ponieważ działa to wolno.
Optymalniej jest dostarczać statykę
przez Nginx. W tym celu dla domeny
wykonuje się specjalną konfigurację,
zawierającą wyrażenie regularne i ścieżkę do
folderu ze statyką. Załóżmy dla przykładu,
że w naszej domenie folderem ze statyką
będzie folder public.
W tym przypadku wpiszemy
następujące ustawienia:
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/test1.com/public;
}
Przy tym nie jest zbyt wygodne, że nazwę domeny musimy wpisać dwa razy, jeśli ta nazwa pokrywa się z folderem strony (a u nas dla wygody się pokrywa). Problem można rozwiązać w następujący sposób:
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/$server_name/public;
}
Zbierzmy wszystkie nasze ustawienia razem i otrzymamy następujące:
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;
}
}
Skonfiguruj dostarczanie statyki dla obu testowych stron. Przetestuj ją przez przeglądarkę.