kesalahan nginx "nama server yang konflik" diabaikan [ditutup]

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

}

ini menghasilkan kesalahan nignx [peringatan] nama server yang bertentangan "ec2 ..." di 0.0.0.0:80 diabaikan Saya tidak mengerti, penjelasan apa pun dihargai. Terima kasih.

pengguna1447121
sumber
Sepertinya ada default implisit 0.0.0.0:80, menambahkannya secara eksplisit bekerja untuk saya. dengarkan ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com:80; diikuti oleh direktif server_name bekerja.
pengguna1447121
1
Periksa /etc/nginx/sites-available/<site-name>yang ditautkan ke /etc/nginx/sites-enabled/<site-name>. File tambahan di sini mungkin berisi konfigurasi duplikat atau konflik.
Hanxue
berubah config.force_ssl = trueuntuk falsememecahkan masalah saya, saya butuh waktu berhari-hari untuk mengetahuinya
Muyide Ibukun
1
Bagi saya kesalahan yang sama ini berasal dari titik koma yang hilang di akhir salah satu server_namebaris ketika saya memiliki beberapa serverentri.
Kevin
2
Certbot dari LetsEncrypt telah menambahkan blok server di file default dalam kasus saya. Itu terjadi karena saya mencoba mendapatkan sertifikat sebelum saya menyiapkan blok server terpisah.
Alex D

Jawaban:

162

Saya berasumsi bahwa Anda menjalankan Linux, dan Anda menggunakan gEdit untuk mengedit file Anda. Di /etc/nginx/sites-enabled, mungkin telah meninggalkan file temp misalnya default~(perhatikan ~).

Bergantung pada editor Anda, file dapat diberi nama .saveatau semacamnya. Jalankan saja $ ls -lahuntuk melihat file mana yang tidak diinginkan ada di sana dan hapus mereka (Terima kasih @Tisch untuk ini).

Hapus file ini, dan itu akan menyelesaikan masalah Anda.

Omar Al-Ithawi
sumber
memperbaiki masalah untuk saya di Ubuntu 12.04 x86_64 + nginx
Stephen Sprinkle
1
bisakah kamu menjelaskan? Saya tidak melihat file "default ~" sama sekali di / etc / nginx / sites-enabled saya hanya di folder "default".
David Saintloth
3
@Jakobud in /etc/nginx/sites-enabled. Saya telah mengedit jawaban saya untuk menyebutkannya.
Omar Al-Ithawi
3
Saya memiliki file .save yang menyebabkan masalah.
Tisch
2
Dalam kasus saya, beberapa konfigurasi emacs membuat file dengan awalan dan akhir #, mis #portal#.
taffit
31

Anda memiliki server_name ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.comtempat lain di konfigurasi.

VBart
sumber
2
Saya sudah memeriksanya dan tidak menemukannya. itu tidak memberikan peringatan ini ketika saya menghapus "ec2_xxx ...". Apakah ada default implisit untuk 0.0.0.0:80 di konfigurasi nginx?
pengguna1447121
Dokumentasi resmi :default: listen *:80 | *:8000;
VBart
2
Ini untukku, bagaimanapun juga localhost.
Rohmer
12

Seharusnya hanya ada satu localhost yang ditentukan, periksa sites-enabled atau nginx.conf.

Marin
sumber
8
Saya memiliki dua perintah "nama_server" yang identik dalam dua file * .conf yang terpisah. Terima kasih.
Felipe Alvarez
1
Ini memecahkan masalah saya juga. Saya telah menempatkan 2 blok server yang sama di file * .conf yang berbeda. Terima kasih!
Pranav Jituri
1
Juga, periksa semua file dalam direktori ini: /etc/nginx/conf.d. Setiap domain juga dapat muncul hanya sekali (sebagai servernamenilai) di antara file dalam direktori itu. Itu masalah saya!
SherylHohman