Eu tenho os seguintes dois blocos de servidores no meu arquivo de configuração em sites disponíveis:
server {
listen 80;
server_name www.mydomain.be;
root /usr/share/nginx/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen 80;
server_name sub.mydomain.be;
root /usr/share/nginx/sub;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
Eu também criei um registro A para ambos os domínios, www.domain.be e sub.domain.be, com o IP do meu servidor como valor.
No entanto, quando tento recarregar minha configuração nginx com
serviço nginx recarregar
falha.
Quando eu removo o segundo bloco do servidor, ele é recarregado como esperado.
Eu sei que este tópico é popular e que existem muitas dessas perguntas [nginx] [subdomínio] aqui, mas nenhuma delas parece discutir explicitamente como as três coisas a seguir estão juntas:
- hosts virtuais ou blocos de servidores no nginx (correspondência entre o servidor e o servidor)
- o efeito de registros A sobre como o nginx processa solicitações
- a necessidade de adicionar hosts a / etc / hosts
Neste momento, tenho a impressão de que a falta de conhecimento deste quadro maior, em vez de um conhecimento específico da configuração do nginx, me impede de fazer isso funcionar.
Atualização:
Rastreou o problema
Inicialmente, tive uma falha sem qualquer explicação.
Usando
sudo nginx -c /etc/nginx/nginx.conf -t
Eu recebi esta mensagem
nginx: [emerg] could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32
depois de descomentar
server_names_hash_bucket_size 64;
o problema foi resolvido.