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:
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:
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:
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
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)"
server {}
deve ter sua próprialisten
diretiva.Respostas:
Você provavelmente tem outros arquivos (como a
default
configuração) localizados em/etc/nginx/sites-enabled
que precisam ser removidos.Esse problema é causado pela repetição do
default_server
parâmetro fornecido a uma ou maislisten
diretivas em seus arquivos. Você provavelmente descobrirá que esta diretiva conflitante se parece com:Como a documentação do módulo principal nginx para
listen
estados:Isso significa que deve haver outro arquivo ou
server
bloco definido em sua configuração comdefault_server
a porta 80. O nginx está encontrando isso antes de seumysite.com
arquivo, 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:
fonte
default_server
palavra - chave que só pode aparecer em uma configuração - você pode ter vários sites definidos comlisten 80;
default_server
parâmetro só pode aparecer uma vez para cadaaddress:port
par. Isso significa que é possível (e comum) estardefault_server
presente várias vezes em uma configuração geral do nginx, mas aplicando-se a diferentes IPs / portas.OS Debian 10 + nginx. No meu caso, desvinculei a página "padrão" como:
fonte
Execute no terminal para ver configurações conflitantes escutando a mesma porta:
fonte
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
fonte
rm -R previousServerFolderName
, em seguida, fazersudo service nginx restart
a fazersystemctl status nginx
espectáculo "ativa (execução)"