Errore nginx "nome server in conflitto" ignorato [chiuso]


125
server {
    #listen   80; ## listen for ipv4; this line is default and implied
    #listen   [::]:80 default ipv6only=on; ## listen for ipv6

    #root /usr/share/nginx/www;

root /home/ubuntu/node-login;
    # Make site accessible from 
    server_name ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com;

location /{
    proxy_pass http://127.0.0.1:8000/;
    proxy_redirect off;
}

}

questo si traduce in errore nignx [avviso] nome server in conflitto "ec2 ..." su 0.0.0.0:80 ignorato Non capisco, qualsiasi spiegazione apprezzata. Grazie.


Sembra esserci un valore predefinito implicito 0.0.0.0:80, aggiungendo che ha funzionato esplicitamente per me. ascolta ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com:80; seguito dalla direttiva server_name ha funzionato.
user1447121

1
Verifica /etc/nginx/sites-available/<site-name>che sia collegato a /etc/nginx/sites-enabled/<site-name>. I file aggiuntivi qui possono contenere configurazioni duplicate o in conflitto.
Hanxue

cambiando config.force_ssl = trueper falserisolvere il mio problema, mi ci sono voluti giorni per capirlo
Muyide Ibukun

1
Per me questo stesso errore era server_namedovuto a un punto e virgola mancante alla fine di una delle righe quando avevo più servervoci.
Kevin

2
Certbot di LetsEncrypt aveva aggiunto un blocco del server nel file predefinito nel mio caso. Lo ha fatto perché ho provato a ottenere il certificato prima di aver impostato il blocco server separato.
Alex D

Risposte:


162

Presumo che tu stia eseguendo un Linux e stai usando gEdit per modificare i tuoi file. In /etc/nginx/sites-enabled, potrebbe aver lasciato un file temporaneo, ad esempio default~(guarda il ~).

A seconda del tuo editor, il file potrebbe essere denominato .saveo qualcosa di simile. Basta eseguire $ ls -lahper vedere quali file sono non intenzionali di essere lì e rimuoverli (Grazie @Tisch per questo).

Elimina questo file e risolverà il tuo problema.


risolto il problema per me su Ubuntu 12.04 x86_64 + nginx
Stephen Sprinkle

1
puoi chiarire? Non vedo alcun file "default ~" nella mia cartella / etc / nginx / sites-enabled solo nella cartella "default".
David Saintloth

3
@ Jakobud in /etc/nginx/sites-enabled. Ho modificato la mia risposta per menzionarlo.
Omar Al-Ithawi

3
Avevo un file .save che causava il problema.
Tisch

2
Nel mio caso alcune configurazioni di emacs hanno creato un file con un interlinea e uno finale #, ad es #portal#.
taffit

31

Ne hai un altro server_name ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.comda qualche parte nella configurazione.


2
Ho controllato e non ne ho trovati. non dà questo avviso quando rimuovo "ec2_xxx ...". Esiste un valore predefinito implicito per 0.0.0.0:80 nella configurazione di nginx?
user1447121

Documentazione ufficiale :default: listen *:80 | *:8000;
VBart

2
Questo è stato per me, comunque fosse localhost.
Rohmer

12

Ci dovrebbe essere un solo localhost definito, controlla i siti abilitati o nginx.conf.


8
Avevo due direttive identiche "nome_server" in due file * .conf separati. Grazie.
Felipe Alvarez

1
Questo ha risolto anche il mio problema. Avevo inserito 2 stessi blocchi server in diversi file * .conf. Grazie!
Pranav Jituri

1
Inoltre, controllare tutti i file in questa directory: /etc/nginx/conf.d. Ogni dominio può essere visualizzato solo una volta (come servernamevalore) anche tra i file in quella directory. Questo era il mio problema!
SherylHohman
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.