2012-07-11 14 views
68
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; 
} 

}błąd nginx „sprzeczne nazwa serwera” ignorowane

skutkuje błędem nignx [warn] sprzeczne nazwę serwera „EC2 ...” w 0.0.0.0:80 ignorowane ja nie rozumiem, każde wyjaśnienie docenione. Dzięki.

+0

Wygląda na to, że domyślna wartość domyślna to 0.0.0.0:80, a dodanie jej wyraźnie zadziałało. słuchaj ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com:80; a następnie działa dyrektywa nazwa_serwera. – user1447121

+0

Sprawdź '/ etc/nginx/sites-available/', który jest połączony z '/ etc/nginx/sites-enabled/'. Dodatkowe pliki tutaj mogą zawierać zduplikowaną lub sprzeczną konfigurację. – hanxue

Odpowiedz

115

Zakładam, że używasz Linuksa i używasz gEdit do edycji plików. W urządzeniu /etc/nginx/sites-enabled mogło zostać pozostawione plik tymczasowy, np. default~ (obejrzyj ~).

W zależności od edytora plik może mieć nazwę .save lub coś podobnego. Po prostu uruchom $ ls -lah, aby zobaczyć, które pliki są niezamierzone i usuń je (dziękuję za to @Tisch).

Usuń ten plik, a rozwiąże on Twój problem.

+0

naprawiono problem dla mnie na Ubuntu 12.04 x86_64 + nginx –

+1

czy możesz wyjaśnić? Nie widzę żadnych plików "domyślnych" w moim /etc/nginx/sites-enabled tylko "domyślnym" folderze. –

+0

@DavidSaintloth to działało dla mnie i OP. To jedno źródło problemu, może to być cokolwiek innego. Ale aby upewnić się, że naprawdę nie masz pliku: '$ ls -alF/etc/nginx/sites-enabled' zwykle nie jest pokazywany, chyba że specjalnie poprosisz o niego, ponieważ jest to ukryty plik/tmp. –

18

Masz innego server_name ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com gdzieś w config.

+0

Sprawdziłem i nie znalazłem żadnych. nie daje tego ostrzeżenia po usunięciu "ec2_xxx ...". Czy istnieje domyślna wartość domyślna dla 0.0.0.0:80 w konfiguracji nginx? – user1447121

+0

[Oficjalna dokumentacja] (http://nginx.org/r/listen): 'default: listen *: 80 | *: 8000; ' – VBart

+2

To było dla mnie, jednak było to' localhost'. – Rohmer

8

Powinien być zdefiniowany tylko jeden host localhost, sprawdź, czy w witrynie włączono lub nginx.conf.

+4

Posiadałem dwie identyczne dyrektywy "nazwa_serwera" w dwóch oddzielnych plikach * .conf. Dzięki. –

+0

@FelipeAlvarez Nie ma za co – Marin

+0

Rozwiązało to również mój problem. Umieściłem 2 bloki tego samego serwera w różnych plikach * .conf. Dzięki! –