Não é possível configurar o nginx para vários domínios

3

Estou tentando hospedar vários domínios (com páginas estáticas simples) em um único VPS, executando o Ubuntu 12.04 LTS, nginx. As configurações básicas do nginx para todos os domínios são semelhantes a esta (todas separadas no diretório disponível para sites):

server { 
 listen 80; 
 server_name www.example.com; 
 return 301 $scheme://example.com$request_uri; 
}

server { 
 listen 80; 
 server_name example.com;

 root /home/username/example.com; 
 index index.html; 
}

funciona para o primeiro domínio, para o segundo domínio ele funciona apenas se eu removi o primeiro bloco do servidor, para o terceiro domínio ele não funciona. nginx falha ao iniciar. Eu não faço o que estou fazendo errado.

    
por rkjha 28.05.2013 / 17:53

3 respostas

2

Os problemas foram os nomes de domínio longos. Quando eu verifiquei o log de erro nginx, encontrei esta mensagem de erro:

could not build the server_names_hash, 
you should increase server_names_hash_bucket_size: 64

Então, eu descomentei a seguinte linha no arquivo /etc/nginx/nginx.conf .

http {
 ....
 #server_names_hash_bucket_size 64;
 ....
}

Agora, tudo funciona como esperado:)

    
por 29.05.2013 / 09:24
0

Se você quiser testar seus subdomínios no localhost, pode ser necessário adicionar o nome dele ao arquivo de hosts locais. normalmente localizado em / etc / hosts

De alguma forma, esses sub-domínios precisam ser resolvidos, tente adicionar o sub.localhost 127.0.0.1, e se você estiver indo para a web, adicione um registro A com o ip do servidor e verifique o DNS com

veja www.myexample.com

ele deve voltar com um IP se estiver funcionando e fazer o mesmo com cada subdomínio.

Deixe-me saber se isso funciona

    
por 28.05.2013 / 18:14
0

Altere o "retorno 301" para "reescrever ..."

server { 
 listen 80; 
 server_name www.example.com; 
 rewrite ^(.*)$ $scheme://example.com$request_uri; 
}
    
por 30.05.2013 / 17:21

Tags