nginx- kesalahan server default duplikat


105

Dalam log kesalahan saya, saya mengerti

[emerg] 10619 # 0: server default duplikat untuk 0.0.0.0:80 di /etc/nginx/sites-enabled/mysite.com:4

di Baris 4 Saya punya:

server_name mysite.com   www.mysite.com;

Ada saran?


4
Posting konfigurasi lengkap Anda. Masing server {}- masing harus memiliki listenarahannya sendiri .
Marki555

Jika Anda sedang mengedit sesuatu di situs-diaktifkan dan koneksi terputus tiba-tiba, Anda dapat diakhiri dengan file simpan otomatis di sana dari editor teks, jadi Anda akan berakhir dengan hampir semua konfigurasi digandakan, cukup hapus file itu (untuk file nano.save)
LuisF

Jawaban:


197

Anda mungkin memiliki file lain (seperti defaultkonfigurasi) yang terletak di /etc/nginx/sites-enableddalamnya yang perlu dihapus.

Masalah ini disebabkan oleh pengulangan default_serverparameter yang diberikan ke satu atau beberapa listenperintah di file Anda. Anda kemungkinan besar akan menemukan petunjuk yang bertentangan ini berbunyi seperti:

listen 80 default_server;

Sebagai dokumentasi modul inti nginx untuklisten status:

The default_serverparameter, jika ada, akan menyebabkan server menjadi server default untuk ditentukan address:portpasangan. Jika tidak ada arahan yang memiliki default_serverparameter maka server pertama dengan address:portpasangan akan menjadi server default untuk pasangan ini.

Ini berarti bahwa harus ada file atau serverblok lain yang ditentukan dalam konfigurasi Anda dengan default_serverset untuk port 80. nginx mengalami hal itu terlebih dahulu sebelum mysite.comfile Anda, jadi coba hapus atau sesuaikan konfigurasi lain itu.

Jika Anda kesulitan menemukan di mana arahan dan parameter ini ditetapkan, coba lakukan pencarian seperti ini:

grep -R default_server /etc/nginx

Terima kasih. Ini sangat membantu.
Koushik Das

30
Hanya untuk memperjelas, ini adalah default_serverkata kunci yang hanya dapat muncul dalam satu konfigurasi - Anda dapat menentukan beberapa situs denganlisten 80;
Eborbob

1
Terima kasih, Anda membantu saya. Dalam kasus saya, saya menemukan publikasi ke /etc/nginx/sites-enabled/default.save
Andrew Grow

1
Selain komentar @ Eborbob, default_serverparameter hanya dapat muncul sekali untuk setiap address:portpasangan. Ini berarti dimungkinkan (dan umum) untuk default_servermenampilkan beberapa kali dalam konfigurasi nginx secara keseluruhan, tetapi berlaku untuk IP / port yang berbeda.
davidjb

2
perintah grep hanyalah tiketnya. Ini hal-hal sederhana, terima kasih
FireDragon

6

OS Debian 10 + nginx. Dalam kasus saya, saya membatalkan tautan halaman "default" sebagai:

  1. cd / etc / nginx / sites-enabled
  2. batalkan tautan default
  3. layanan nginx restart

itu bekerja dengan saya. Terima kasih
abdelhamed abdin


4

Jika Anda menggunakan Digital Ocean, ini berarti Anda harus pergi ke / etc / nginx / sites-enabled / dan kemudian HAPUS menggunakan rm -R digitalocean dan default

Itu memperbaikinya untuk saya!

Pic Konsol di Windows 10 menggunakan Bitvise


Ini adalah jawaban sederhana yang berhasil untuk saya. Saya harus pergi ke / etc / nginx / sites-enabled / dan rm -R previousServerFolderNamekemudian melakukan sudo service nginx restartuntuk membuat systemctl status nginxacara "aktif (berjalan)"
Roly Poly
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.