O subdomínio Nginx não está roteando para o Node.js

1

Eu tenho um subdomínio que quero fazer proxy através do Nginx para o Node.js.

domain.tld está roteado no caminho padrão em /opt/nginx/conf/nginx.conf .

No entanto, também quero que subdomain.domain.tld seja encaminhado para domain.tld:8000 .

Para fazer isso, coloco o seguinte em /etc/nginx/sites-available/subdomain.domain.tld.conf :

http{
    server {
            listen 0.0.0.0:80;
            server_name subdomain.tld.com;
            access_log /var/log/nginx/subdomain.domain.log;

            location / {
                    proxy_pass http://127.0.0.1:8000;
            }
    }
}

O Nginx parece começar bem. Os servidores de nomes do subdomínio estão configurados corretamente.

O que estou fazendo de errado? Muito obrigado por qualquer ajuda antecipadamente.

Editar: também criei um link simbólico para o arquivo de sites-available/ para sites-enabled/ .

Editar: o conteúdo exato de /opt/nginx/conf/nginx.conf :

link

Edit: A mensagem de erro iniciando nginx:

 Starting nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 
 nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 
 nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 
 nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 
 nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 
 nginx: [emerg] still could not bind()
    
por element119 18.01.2012 / 01:27

1 resposta

1

Primeiro, verifique se há erros no log durante a inicialização.

Pode não estar a carregar este servidor devido a isto:

proxy_pass 127.0.0.1:8000;

Qual deve ser alterado para:

proxy_pass http://127.0.0.1:8000;

Além disso, compare a diretiva listen com a dos outros server blocks - verifique se ela corresponde. Se eles estiverem vinculados a um endereço específico, em vez de 0.0.0.0, esse server não receberá as solicitações.

editar :

Para aqueles que encontrarem essa pergunta no futuro, o bloco server do subdomínio não foi incluído e o bloco include deve estar dentro do bloco http existente para evitar conflitos de vinculação de endereço.

    
por 18.01.2012 / 01:57