Στατικά αρχεία domain μέσω Nginx σε VPS server
Για την παράδοση στατικών αρχείων στο NodeJS ή στο Express δημιουργείται static-server. Στην πραγματικότητα, αυτό δεν συνιστάται, καθώς λειτουργεί αργά.
Είναι πιο βέλτιστο να παραδίδονται τα στατικά
μέσω Nginx. Για αυτό, για το domain
γίνεται μια ειδική ρύθμιση,
που περιέχει κανονική έκφραση και διαδρομή προς
τον φάκελο με τα στατικά. Ας υποθέσουμε για παράδειγμα
ότι στο domain μας ο φάκελος με τα στατικά
θα είναι ο φάκελος public.
Σε αυτήν την περίπτωση θα γράψουμε
τις ακόλουθες ρυθμίσεις:
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/test1.com/public;
}
Εντούτοις, δεν είναι πολύ βολικό ότι το όνομα του domain πρέπει να το γράψουμε δύο φορές, αν αυτό το όνομα συμπίπτει με το φάκελο του site (και για ευκολία συμπίπτει). Το πρόβλημα μπορεί να λυθεί ως εξής:
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/$server_name/public;
}
Ας συγκεντρώσουμε όλες τις ρυθμίσεις μας μαζί και πάρουμε το ακόλουθο:
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;
}
}
Ρυθμίστε την παράδοση στατικών για και τα δύο δοκιμαστικά sites. Δοκιμάστε την μέσω του browser.