nginx hatası "çakışan sunucu adı" yok sayıldı [kapatıldı]


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;
}

}

bu, 0.0.0.0:80 üzerinde sunucu adı "ec2 ..." ile çakışan nignx hatası [uyarı] ile sonuçlanır yok sayıldı Anlamıyorum, herhangi bir açıklama takdir edildi. Teşekkürler.


Açıkça benim için çalıştı ekleyerek, örtük bir varsayılan 0.0.0.0:80 var gibi görünüyor. ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com:80 dinleyin; ardından server_name yönergesi çalıştı.
user1447121

1
/etc/nginx/sites-available/<site-name>İle bağlantılı olduğunu kontrol edin /etc/nginx/sites-enabled/<site-name>. Buradaki ek dosyalar yinelenen veya çakışan yapılandırma içerebilir.
Hanxue

Değişen config.force_ssl = trueiçin falseçözülmesi benim sorunum, bu anlamaya bana gün sürdü
Muyide Ibukun

1
Benim için aynı hata, server_namebirkaç servergirişim olduğunda satırlardan birinin sonundaki eksik noktalı virgülden kaynaklanıyordu.
Kevin

2
LetsEncrypt'ten Certbot benim durumumda varsayılan dosyaya bir sunucu bloğu eklemişti. Bu, ayrı sunucu bloğunu kurmadan önce sertifikayı almaya çalışmamın nedeni oldu.
Alex D

Yanıtlar:


162

Bir Linux çalıştırdığınızı ve dosyalarınızı düzenlemek için gEdit kullandığınızı varsayıyorum. İçinde, /etc/nginx/sites-enabledörneğin bir geçici dosya bırakmış olabilir default~(izleyin ~).

Düzenleyicinize bağlı olarak, dosyanın adı .saveveya buna benzer bir şey olabilir. Sadece $ ls -lahhangi dosyaların istenmeyen olduğunu görmek için çalıştırın ve onları kaldırın ( Bunun için teşekkürler @Tisch ).

Bu dosyayı silin ve sorununuzu çözecektir.


Ubuntu 12.04 x86_64 + nginx'te benim için sorunu çözdü
Stephen Sprinkle

1
Açıklayabilir misin? / Etc / nginx / sites-etkin sadece "varsayılan" klasörümde hiçbir "varsayılan ~" dosya görmüyorum.
David Saintloth

3
@Jakobud içinde /etc/nginx/sites-enabled. Cevabımı belirtmek için düzenledim.
Omar Al-Ithawi

3
Soruna neden olan bir .save dosyam vardı.
Tisch

2
Benim durumumda, bazı emacs konfigürasyonları başında ve sonunda olan bir dosya yarattı #, örn #portal#.
taffit

31

server_name ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.comYapılandırmada başka bir yerde var .


2
Bunu kontrol ettim ve bulamadım. "ec2_xxx ..." i kaldırdığımda bu uyarıyı vermiyor. Nginx yapılandırmasında 0.0.0.0:80 için örtük bir varsayılan var mı?
user1447121

Resmi belgeler :default: listen *:80 | *:8000;
VBart

2
Bu benim için öyleydi, ancak öyleydi localhost.
Rohmer

12

Yalnızca bir localhost tanımlı olmalıdır, sitelerin etkin olup olmadığını kontrol edin veya nginx.conf.


8
İki ayrı * .conf dosyasında iki özdeş "server_name" yönergem vardı. Teşekkürler.
Felipe Alvarez

1
Bu benim sorunumu da çözdü. Farklı * .conf dosyalarına 2 aynı sunucu bloğu yerleştirmiştim. Teşekkürler!
Pranav Jituri

1
Ayrıca, bu dizindeki tüm dosyaları kontrol: /etc/nginx/conf.d. Her etki alanı, servernameo dizindeki dosyalar arasında da yalnızca bir kez (bir değer olarak) görünebilir . Benim sorunum buydu!
SherylHohman
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.