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?


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

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

funciona comigo. Obrigado
Abdelhamed Abdin


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


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.