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:
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:
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:
Jika Anda menggunakan Digital Ocean, ini berarti Anda harus pergi ke / etc / nginx / sites-enabled / dan kemudian HAPUS menggunakan rm -R digitalocean dan default
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)"
server {}
- masing harus memilikilisten
arahannya sendiri .Jawaban:
Anda mungkin memiliki file lain (seperti
default
konfigurasi) yang terletak di/etc/nginx/sites-enabled
dalamnya yang perlu dihapus.Masalah ini disebabkan oleh pengulangan
default_server
parameter yang diberikan ke satu atau beberapalisten
perintah di file Anda. Anda kemungkinan besar akan menemukan petunjuk yang bertentangan ini berbunyi seperti:Sebagai dokumentasi modul inti nginx untuk
listen
status:Ini berarti bahwa harus ada file atau
server
blok lain yang ditentukan dalam konfigurasi Anda dengandefault_server
set untuk port 80. nginx mengalami hal itu terlebih dahulu sebelummysite.com
file 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:
sumber
default_server
kata kunci yang hanya dapat muncul dalam satu konfigurasi - Anda dapat menentukan beberapa situs denganlisten 80;
default_server
parameter hanya dapat muncul sekali untuk setiapaddress:port
pasangan. Ini berarti dimungkinkan (dan umum) untukdefault_server
menampilkan beberapa kali dalam konfigurasi nginx secara keseluruhan, tetapi berlaku untuk IP / port yang berbeda.OS Debian 10 + nginx. Dalam kasus saya, saya membatalkan tautan halaman "default" sebagai:
sumber
Jalankan ini di terminal untuk melihat konfigurasi yang bertentangan mendengarkan port yang sama:
sumber
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
sumber
rm -R previousServerFolderName
kemudian melakukansudo service nginx restart
untuk membuatsystemctl status nginx
acara "aktif (berjalan)"