Fichiers statiques de domaine via Nginx sur un serveur VPS
Pour servir des fichiers statiques sur NodeJS ou sur Express, on crée un serveur static. En réalité, il n'est pas recommandé de faire ainsi, car cela fonctionne lentement.
Il est plus optimal de servir les statiques
via Nginx. Pour cela, une configuration
spéciale est créée pour le domaine,
contenant une regex et le chemin vers
le dossier des statiques. Supposons pour l'exemple
que dans notre domaine, le dossier des statiques
soit le dossier public.
Dans ce cas, nous écrirons
les configurations suivantes :
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/test1.com/public;
}
Il n'est pas très pratique que le nom de domaine doive être écrit deux fois, si ce nom correspond au dossier du site (et chez nous, par commodité, il correspond). Le problème peut être résolu de la manière suivante :
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/$server_name/public;
}
Rassemblons toutes nos configurations ensemble et nous obtiendrons ce qui suit :
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;
}
}
Configurez la livraison des statiques pour les deux sites de test. Testez-la via le navigateur.