Pengawas Masalah HTTP Server Port

65

Saya memiliki pengaturan atasan untuk mengelola beberapa proses. Ini berfungsi dengan baik ketika saya mem-boot server saya, namun ketika saya menghentikannya dan mencoba untuk memulainya lagi ia gagal dan memberi saya pesan kesalahan ini:

 * Memulai Supervisor daemon manager ...
Kesalahan: Program lain sudah mendengarkan pada port yang salah satu server HTTP kami dikonfigurasi untuk digunakan. Matikan program ini terlebih dahulu sebelum memulai pengawas.
Untuk bantuan, gunakan / usr / bin / supervisord -h
   ...gagal!

Saya menjalankan nginx pada port 80 dan 4 server web pada port 8000, 8001, 8002, 8003

Adakah yang tahu apa yang sedang terjadi?

Ketika saya reboot semuanya bekerja dengan baik.


sumber

Jawaban:

91

Hanya berlari ke ini juga. Saya memperbaikinya dengan melakukan salah satu dari ini:

sudo unlink /tmp/supervisor.sock

sudo unlink /var/run/supervisor.sock

File .sock ini didefinisikan dalam nilai konfigurasi file /etc/supervisord.conf [unix_http_server] (defaultnya adalah /tmp/supervisor.sock atau /var/run/supervisor.sock).

Semoga ini bisa membantu seseorang di masa depan.

ramayac
sumber
12
@dd Wow, itu membantu saya! Saya menghapus /var/run/supervisor.sock dan menyingkirkan kesalahan pada Debian Stable
Abhishek A
2
jalankan find / -name supervisor.sock sebelum Anda menjalankan unlink - pada sistem debian ia berada di / var / run /, tetapi solusi unlink Anda bekerja untuk saya
AndrewPK
2
Mengapa pengawas tidak berhenti dengan kode kesalahan untuk memungkinkan skrip untuk memutuskan tautan secara otomatis dan coba lagi?
Tal Weiss
Hati-hati di sini. Setelah memutuskan tautan, jalankan "ps -ef | grep supervisord" dan Anda akan melihat bahwa proses lama masih berjalan. Anda mungkin ingin "membunuh <process_id>" juga. EDIT: Ini adalah kasus saya saat menggunakan Ubuntu 14.04.
jball037
1
Setelah perintah unlink saya mencoba me-restart supervisor tetapi sekarang .sock terjawab. unix:///tmp/supervisor.sock no such file. Jadi apa lagi yang harus saya lakukan?
Robert
7

Saya akan menggunakan lsof untuk mencari tahu proses apa yang sedang mendengarkan pada port tersebut.

lsof -i tcp | grep LISTEN

Setelah Anda mengetahui prosesnya, itu setengah dari perjuangan.

gorila
sumber