Arquivos estáticos do domínio via Nginx em servidor VPS
Para servir arquivos estáticos no NodeJS ou no Express, cria-se um servidor estático (static). Na verdade, não é recomendado fazer isso, pois funciona lentamente.
É mais ideal servir arquivos estáticos
via Nginx. Para isso, é feita uma configuração
especial para o domínio,
contendo uma expressão regular e o caminho para a
pasta com os arquivos estáticos. Vamos supor, por exemplo,
que em nosso domínio a pasta com arquivos estáticos
seja a pasta public.
Neste caso, configuraremos o
seguinte:
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/test1.com/public;
}
No entanto, não é muito conveniente que o nome do domínio precise ser escrito duas vezes, se esse nome coincidir com a pasta do site (e para nossa conveniência, coincide). O problema pode ser resolvido da seguinte forma:
server_name test1.com;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf|txt|ico)$ {
root /var/www/$server_name/public;
}
Vamos reunir todas as nossas configurações e obter o seguinte:
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;
}
}
Configure o serviço de arquivos estáticos para ambos os sites de teste. Teste através do navegador.