ปัญหาพอร์ตเซิร์ฟเวอร์ HTTP ของหัวหน้างาน


65

ฉันมีการตั้งค่าหัวหน้างานเพื่อจัดการกระบวนการบางอย่าง มันทำงานได้อย่างสมบูรณ์แบบเมื่อฉันบูตเซิร์ฟเวอร์ แต่เมื่อฉันหยุดมันและพยายามที่จะเริ่มมันอีกครั้งมันล้มเหลวและทำให้ฉันมีข้อผิดพลาดนี้ msg:

 * กำลังเริ่มต้นผู้จัดการ daemon ของหัวหน้า ...
ข้อผิดพลาด: โปรแกรมอื่นกำลังฟังพอร์ตที่เซิร์ฟเวอร์ HTTP หนึ่งในเรากำหนดค่าให้ใช้ ปิดโปรแกรมนี้ก่อนที่จะเริ่ม supervisord
สำหรับความช่วยเหลือให้ใช้ / usr / bin / supervisord -h
   ...ล้มเหลว!

ฉันใช้งาน nginx บนพอร์ต 80 และ 4 เว็บเซิร์ฟเวอร์บนพอร์ต 8000, 8001, 8002, 8003

ไม่มีใครมีความคิดในสิ่งที่เกิดขึ้น?

เมื่อฉันรีบูตทุกอย่างทำงานได้ดี

คำตอบ:


91

เพิ่งวิ่งเข้าไปในนี้เช่นกัน ฉันแก้ไขมันโดยทำอย่างใดอย่างหนึ่งต่อไปนี้:

sudo unlink /tmp/supervisor.sock

sudo unlink /var/run/supervisor.sock

ไฟล์ .ock นี้มีการกำหนดไว้ในค่ากำหนดของไฟล์ [unix_http_server] ของ /etc/supervisord.conf (ค่าเริ่มต้นคือ /tmp/supervisor.sock หรือ /var/run/supervisor.sock)

หวังว่าสิ่งนี้จะช่วยให้ใครบางคนในอนาคต


12
@sdolan ว้าวมันช่วยฉันได้! ฉันลบ /var/run/supervisor.sock และกำจัดข้อผิดพลาดใน Debian Stable
Abhishek A

2
เรียกใช้ find / -name supervisor.sock ก่อนที่คุณจะเรียกใช้การเชื่อมโยง - บนระบบเดเบียนตั้งอยู่ใน / var / run / แต่โซลูชันการยกเลิกการเชื่อมโยงของคุณใช้งานได้สำหรับฉัน
AndrewPK

2
เหตุใดหัวหน้างานจึงไม่ยุติการทำงานพร้อมรหัสข้อผิดพลาดเพื่ออนุญาตให้สคริปต์ยกเลิกการเชื่อมโยงโดยอัตโนมัติและลองอีกครั้ง
ทาลไวสส์

ระวังที่นี่ หลังจากยกเลิกการลิงก์แล้วให้เรียกใช้ "ps -ef | grep supervisord" และคุณจะเห็นว่ากระบวนการเดิมยังคงทำงานอยู่ คุณอาจต้องการ "กำจัด <process_id>" เช่นกัน แก้ไข: นี่คือกรณีของฉันในขณะที่ใช้ Ubuntu 14.04
jball037

1
หลังจากคำสั่ง unlink ฉันพยายามเริ่มต้นใหม่ supervisor แต่ตอนนี้พลาด. ถุงเท้า unix:///tmp/supervisor.sock no such file. ดังนั้นฉันต้องทำอะไรอีก
Robert

7

ฉันใช้ lsof เพื่อค้นหาว่ากระบวนการใดบ้างที่กำลังฟังพอร์ตเหล่านั้น

lsof -i tcp | grep LISTEN

เมื่อคุณทำสิ่งที่เป็นกระบวนการแล้วนั่นคือครึ่งของการต่อสู้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.