Verifique também cada arquivo em /etc/nginx/conf.d
para duplicatas.
No meu caso, nginx -t
passou nos testes - recebi essa mensagem de erro ao tentar iniciar o nginx.
Meus arquivos /etc/nginx/sites-enabled
estavam livres de duplicatas de domínio (nome do servidor) e tinham apenas 1 referência a server_default
(e não localhost
duplicados)
Em vez disso, havia dois arquivos em conf.d
que referenciavam um domínio específico (ou seja, dois arquivos tinham uma linha como: servername mydomain.com
, em que um dos nomes de domínio estava listado em dois arquivos).
Minha solução:
Portanto, certifique-se de que todos os arquivos em conf.d
referenciem apenas um valor específico de servername
(nome de domínio) uma vez, no máximo.
( infelizmente depois de corrigir o problema acima, agora recebo:
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
mensagens de erro quando tento reiniciar o nginx.)
update :
FYI, re: ... Address already in use
mensagem de erro acima:
Tudo o que eu tive que fazer foi sudo fuser -k 80/tcp
, então service nginx restart
funcionou como um encanto!
Encontrei a resposta aqui: link
update2 :
Tem sido sugerido que outro processo estava usando a porta 80, (é por isso que matá-lo funcionou, e também faz sentido que nginx b / c não estava em execução no momento). link
Eles também apontam que ver o processo, antes de apenas matá-lo, pode fornecer informações sobre o que causou o problema.
Por isso, provavelmente é melhor usar:
sudo fuser -k 80/tcp
(sem a opção -k), seguido por grep
para esses números de processos.
systemctl list-unit-files
output, pode fornecer informações sobre processos conflitantes
ou:% fuser -kivn tcp 80
, onde:% -v
imprime o nome do processo, além do ID do processo, -i
faz com que seja solicitado antes de ser eliminado link