ปัญหาข้อผิดพลาดของซ็อกเก็ตหัวหน้างาน [ปิด]


99
$ supervisorctl reread
error: <class 'socket.error'>, [Errno 111] Connection refused: file: /usr/lib64/python2.6/socket.py line: 567

ฉันกำลังพยายามกำหนดค่าหัวหน้างานในระบบการผลิตของฉัน แต่พบข้อผิดพลาดนี้ ล็อกไฟล์ผู้ดูแลว่างเปล่า

เมื่อฉันพิมพ์supervisorctlมันบ่นว่า:

http://localhost:9001 refused connection

ขณะนี้ไม่มีอะไรฟังบนพอร์ต 9001, AFACT: lsof | grep TCPไม่ส่งคืนอะไรเลย

คำตอบ:


173

คุณต้องเริ่มหัวหน้างานก่อนจึงจะใช้งาน Supervisorctl ได้ ในกรณีของฉัน:

sudo supervisord -c /etc/supervisor/supervisord.conf
sudo supervisorctl -c /etc/supervisor/supervisord.conf

2
คุณไม่ควรต้อง sudo Supervisorctl แต่ฉันพบปัญหาเรื่องสิทธิ์ที่ทำให้ฉันยอมแพ้ในการแก้ปัญหานั้น
kelorek

1
ฉันได้ออกเหมือนกับ kelorek แต่คำสั่งข้างต้นไม่ได้ผลกับฉัน
Charlesnium

ผลตอบแทนเมื่อคุณกด Enter?
kelorek

5
192.168.111.100:9001ปฏิเสธการเชื่อมต่อ
Charles เลมอน

ผู้ชายที่ยอดเยี่ยมฉันมีหัวหน้างานของฉันทำงานอยู่ตลอดเวลา!
Jaimin

37

หากคุณเริ่มต้นหัวหน้างานด้วยเส้นทางที่กำหนดเองเช่นนี้:

sudo supervisord -c /mypath/supervisord.conf

จากนั้นคุณควรเริ่มต้น Supervisorctl ด้วยพารามิเตอร์เดียวกันเช่นนี้:

sudo supervisorctl -c /mypath/supervisord.conf

2
สิ่งนี้ช่วยฉันได้จริงๆ
Justin M. Ucar

12

คุณจะได้รับปัญหานี้หากคุณเริ่มต้นหัวหน้างานด้วย url สัมพัทธ์สำหรับ-cแล้วลองเรียกใช้ Supervisorctl จากไดเร็กทอรีอื่น

ตัวอย่างเช่น:

supervisord -c supervisord.conf
supervisorctl start someapp ## works 
cd somedirectory
supervisorctl restart someapp ## http://localhost:9001 refused connection

วิธีแก้ปัญหาคือการใช้เส้นทางที่แน่นอนเสมอ เช่น:

ดี:

supervisord -c /etc/supervisor/supervisord.conf

แย่:

supervisord -c supervisord.conf

5

ปัญหานี้ยังเกิดขึ้นเมื่อมีการใช้supervisord.confไฟล์รุ่นเก่า เวอร์ชันใหม่กว่าของผู้ควบคุมใช้ไฟล์การกำหนดค่าที่แตกต่างกัน วิธีแก้ปัญหาข้างต้นไม่ได้ผล ในกรณีนี้คุณต้องสร้างไฟล์กำหนดค่าใหม่ด้วย

echo_supervisord_conf > /etc/supervisord.conf

หวังว่าจะช่วยได้บ้าง


3

โปรดดำเนินการดังต่อไปนี้:

sudo service supervisor start

โพสต์ซึ่งทุกอย่างเป็นปกติเหมือน b4 - มีปัญหากับเวอร์ชัน 1b

sudo supervisorctl reload


2

ใน Ubuntu 18.04 พร้อมแพ็คเกจของการแจกจ่าย

คุณอาจทำผิดพลาดเช่นเดียวกับฉันที่สร้างไฟล์ config /etc/supervisord.confในขณะที่ตัวจัดการบริการ ( systemd ) ของฉันกำลังใช้ไฟล์ config/etc/supervisor/supervisord.conf

sudo rm /etc/supervisord.conf

หรือ

sudo mv /etc/supervisord.conf /etc/supervisor/supervisord.conf

หากคุณต้องการเก็บไว้

ตอนนี้คุณสามารถเรียกใช้ sudo supervisorctl


ทำไม?

เมื่อคุณเรียกใช้supervisorctlครั้งแรกค้นหาไฟล์ config ที่อยู่ที่/etc/supervisord.confหากไม่มีอยู่มันจะค้นหาไฟล์เริ่มต้นของแพ็คเกจซึ่งเป็นไฟล์/etc/supervisor/supervisord.confที่systemdทำงานจริง

Systemdใช้ไฟล์เสมอ/etc/supervisor/supervisord.confโดยไม่คำนึงถึงการมีอยู่ของไฟล์อื่น

คุณสามารถตรวจสอบไฟล์ที่ใช้systemd ได้โดยการรันsudo systemctl status supervisor

ป้อนคำอธิบายภาพที่นี่ คุณจะเห็นคำสั่งในบรรทัดสุดท้ายที่ไฟล์กำหนดค่าเป็นฮาร์ดโค้ด


-1

ทั้งสองsupervisordและsupervisorctlใช้-cกับพา ธ ไฟล์กำหนดค่าสัมบูรณ์ตรวจสอบให้แน่ใจว่าคำสั่งทั้งสองเริ่มต้นด้วยการกำหนดค่าเดียวกัน

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