Node.js: usare nginx per gestire le risorse statiche delle nostre app

Node.js: usare nginx per gestire le risorse statiche delle nostre app

Possiamo usare nginx per gestire le risorse statiche delle nostre app in Node.js.

All'interno della nostra app la directory public contiene le nostre risorse statiche:


/home
    /username
        /app
            /public
        /www    

Definiamo le regole di nginx specificando come document root la directory www. nginx opererà come reverse proxy della nostra app in ascolto sulla porta 3000.


upstream backend {
  server 127.0.0.1:3000;
}

server {

  server_name app.test;
  listen 80;
  root /home/username/www;
  index index.html;

  location / {
    try_files $uri @backend;
  }

  location @backend {
    proxy_pass http://backend;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
  }
}

A questo punto per permettere ad nginx di servire le nostre risorse statiche creiamo un link simbolico della directory public nella directory www:


ln -s /home/username/app/public /home/username/www/public

Ora le route verranno gestite dalla nostra app, mentre le risorse statiche verranno servite da nginx.

Torna su