Primeiro, certifique-se de ter instalado o Nginx e o Node.js.
A próxima coisa que você deve fazer é editar o arquivo de configuração do Nginx.
A localização do arquivo de configuração é principalmente como em /etc/Nginx/nginx.conf .
Abra o arquivo de configuração via vim ou nano e faça essas alterações.
http {
upstream node_app {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
server {
listen 80;
server_name domain1.com;
location ~* ^.+.(jpg|jpeg|png|ico|css|txt|js|html|htm)$ {
root /var/www/html/domain1.com/public/;
}
location ~* ^[^.]+$ {
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Connection "";
proxy_http_version 1.1;
proxy_pass http://node_app;
}
}
}
Na primeira parte, adicionamos nossos aplicativos de nó ao manipulador http. Neste exemplo, temos dois nós em execução.
upstream node_app {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
Para servir arquivos estáticos usando nginx, adicionamos esses locais ao nosso manipulador http. Neste exemplo, usamos apenas as extensões jpg, jpeg, js e css.
location ~* ^.+.(jpg|jpeg|css|js)$ {
root /var/www/html/domain1.com/public/;
}
Para conteúdo dinâmico, definimos um proxy no nginx. Portanto, se tratamos de uma solicitação de conteúdo dinâmico, estamos passando essa solicitação para um dos nós definidos. Neste exemplo, apenas procurando locais que não contenham nenhum. (ponto) personagem. Você pode simplesmente definir suas regras de localização usando Expressões regulares.
location ~* ^[^.]+$ {
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Connection "";
proxy_http_version 1.1;
proxy_pass http://node_app;
}
Espero que ajude.
Obrigado.