nginx- erro de servidor padrão duplicado

105

No meu log de erros eu recebo

[emerg] 10619 # 0: um servidor padrão duplicado para 0.0.0.0:80 em /etc/nginx/sites-enabled/mysite.com:4

na linha 4 eu tenho:

server_name mysite.com   www.mysite.com;

Alguma sugestão?

Ymn
fonte
4
Publique sua configuração completa. Cada um server {}deve ter sua própria listendiretiva.
Marki555
Se você estava editando algo habilitado para sites e a conexão fechou inesperadamente, você pode terminar com um arquivo de salvamento automático a partir do editor de texto, então você terminará com quase todas as configurações duplicadas, apenas exclua esse arquivo (para nano file.save)
LuisF

Respostas:

197

Você provavelmente tem outros arquivos (como a defaultconfiguração) localizados em /etc/nginx/sites-enabledque precisam ser removidos.

Esse problema é causado pela repetição do default_serverparâmetro fornecido a uma ou mais listendiretivas em seus arquivos. Você provavelmente descobrirá que esta diretiva conflitante se parece com:

listen 80 default_server;

Como a documentação do módulo principal nginx paralisten estados:

O default_serverparâmetro, se presente, fará com que o servidor se torne o servidor padrão para o address:portpar especificado . Se nenhuma das diretivas tiver o default_serverparâmetro, o primeiro servidor com o address:portpar será o servidor padrão para este par.

Isso significa que deve haver outro arquivo ou serverbloco definido em sua configuração com default_servera porta 80. O nginx está encontrando isso antes de seu mysite.comarquivo, portanto, tente remover ou ajustar essa outra configuração.

Se você está lutando para descobrir onde essas diretivas e parâmetros são definidos, tente uma pesquisa como esta:

grep -R default_server /etc/nginx
davidjb
fonte
Obrigado. Realmente ajudou.
Koushik Das
30
Só para ficar claro, é a default_serverpalavra - chave que só pode aparecer em uma configuração - você pode ter vários sites definidos comlisten 80;
Eborbob
1
Obrigado, você está me ajudado. No meu caso, encontrei um dublicate em /etc/nginx/sites-enabled/default.save
Andrew Grow
1
Na sequência do comentário de @Eborbob, o default_serverparâmetro só pode aparecer uma vez para cada address:portpar. Isso significa que é possível (e comum) estar default_serverpresente várias vezes em uma configuração geral do nginx, mas aplicando-se a diferentes IPs / portas.
davidjb
2
o comando grep era apenas o tíquete. são as coisas simples, obrigado
FireDragon
6

OS Debian 10 + nginx. No meu caso, desvinculei a página "padrão" como:

  1. cd / etc / nginx / sites-enabled
  2. desvincular padrão
  3. reiniciar serviço nginx
Navid Nasir
fonte
funciona comigo. Obrigado
Abdelhamed Abdin
5

Execute no terminal para ver configurações conflitantes escutando a mesma porta:

grep -R default_server /etc/nginx
Eduardo A. Fernández Díaz
fonte
4

Se você estiver no Digital Ocean, isso significa que você precisa ir para / etc / nginx / sites-enabled / e então REMOVER usando rm -R digitalocean e default

Ele consertou para mim!

Foto do console no Windows 10 usando Bitvise

user1465132
fonte
Esta foi a resposta simples que funcionou para mim. Eu tinha que ir para / etc / nginx / sites-enabled / e rm -R previousServerFolderName, em seguida, fazer sudo service nginx restarta fazer systemctl status nginxespectáculo "ativa (execução)"
Roly Poly