Oii!
Se sabe me dizer se é um bug ou erro meu em configuração do Nginx.
Tenho um VPS com 4 sites apenas!
2 com PHP já antigos e funcionando desde sempre com Nginx.
2 novos em node.
Mas acontece algo interessante.
Quando coloco o arquivo de configuração
siteEmNode.com.br
E dentro coloco todas as info corretas
Uso o Nginx como proxy no caso do Node.
Testo a config. Não tem erro.
Crio o link simbolico e restarto o nginx.
Ai vou acessar a URL siteEmNode.com.br
E aparece outro site que esta no meu server.
segundositeEMphp.com.br
A URL esta correta. E o site não!
Não tem erros. Ta tudo 100% correto.
E não aparece o site correto.
Então eu, vou lá e mudo siteEmNode.com.br para
default, crio o link simbólico, acesso o site siteEmNode.com.br
E aparece corretamente! Perfeito.
Ai eu fui lá e mudei o arquivo de default para > siteEmNode.com.br, criei o link simbólico.
E magicamente funcionou
Tive que por mais um site em node.
Deu o mesmo problema. Mas agora ainda não mudei default o nome do arquivo para o nome do site(por organização)
Se sabe me dizer se pode ser um erro de configuração
ou algum problema no nginx.
Pq uso PHP(servidor normal) e node(proxy)?
É necessário verificar se o link simbólico foi criado no lugar correto na primeira vez (acontece).
Se você utilizar listen 80 default_server; em um dos arquivos de configuração, o Nginx considerará que todas as URL que apontem para o IP do servidor carreguem-no caso a URL não seja encontrada em outro servidor virtual.
Acho que fica mais fácil explicar o passo a passo.
O cliente acessa "siteEmNode.com.br";
O Nginx procurará um servidor virtual que contenha essa URL acessada;
Se o Nginx encontrar o servidor virtual, ele aplicará as configurações dele;
Se o Nginx não encontrar o servidor virtual, ele irá carregar o servidor padrão, que tem a flagdefault_server na diretiva listen.
Se o Nginx não encontrar o servidor padrão, ele irá carregar o primeiro servidor virtual carregado.
"Tenho certeza que o symlink foi criado corretamente"
Neste caso, pode ser problema com cache do navegador ou CDN (CloudFlare, Akamai, Sucuri etc)
"Não é. Limpei os caches, habilitei o modo de desenvolvimento e estou no modo anônimo/privado do navegador"
Aí é um pouco mais complexo. Recomendo configurar o log de erro para o modo debug e verificar como o Nginx está carregando os arquivos de configuração.
Verifique se o Nginx está carregando seu arquivo com nginx -T;
Adicione a diretiva error_log /var/log/nginx/debug.log debug; no contexto http;
Oii!
Se sabe me dizer se é um bug ou erro meu em configuração do Nginx.
Tenho um VPS com 4 sites apenas!
2 com PHP já antigos e funcionando desde sempre com Nginx.
2 novos em node.
Mas acontece algo interessante.
Quando coloco o arquivo de configuração
siteEmNode.com.br
E dentro coloco todas as info corretas
Uso o Nginx como proxy no caso do Node.
Testo a config. Não tem erro.
Crio o link simbolico e restarto o nginx.
Ai vou acessar a URL siteEmNode.com.br
E aparece outro site que esta no meu server.
segundositeEMphp.com.br
A URL esta correta. E o site não!
Não tem erros. Ta tudo 100% correto.
E não aparece o site correto.
Então eu, vou lá e mudo siteEmNode.com.br para
default, crio o link simbólico, acesso o site siteEmNode.com.br
E aparece corretamente! Perfeito.
Ai eu fui lá e mudei o arquivo de default para > siteEmNode.com.br, criei o link simbólico.
E magicamente funcionou
Tive que por mais um site em node.
Deu o mesmo problema. Mas agora ainda não mudei default o nome do arquivo para o nome do site(por organização)
Se sabe me dizer se pode ser um erro de configuração
ou algum problema no nginx.
Pq uso PHP(servidor normal) e node(proxy)?
Abraços
Olá!!
É necessário verificar se o link simbólico foi criado no lugar correto na primeira vez (acontece).
Se você utilizar
listen 80 default_server;
em um dos arquivos de configuração, o Nginx considerará que todas as URL que apontem para o IP do servidor carreguem-no caso a URL não seja encontrada em outro servidor virtual.Acho que fica mais fácil explicar o passo a passo.
default_server
na diretivalisten
."Tenho certeza que o symlink foi criado corretamente"
Neste caso, pode ser problema com cache do navegador ou CDN (CloudFlare, Akamai, Sucuri etc)
"Não é. Limpei os caches, habilitei o modo de desenvolvimento e estou no modo anônimo/privado do navegador"
Aí é um pouco mais complexo. Recomendo configurar o log de erro para o modo debug e verificar como o Nginx está carregando os arquivos de configuração.
nginx -T
;error_log /var/log/nginx/debug.log debug;
no contextohttp
;Só uso a porta 443. Nunca a 80.
Ma irei ver melhor tudo que vc falou.
Obrigado!