ฉันใช้Supervisordบนเซิร์ฟเวอร์ Ubuntu 14.04 ของฉันและทุกอย่างทำงานได้ดี ผมปรับใช้โดยใช้การผลักดันคอมไพล์และเมื่อใช้งานผมยังต้องรีสตาร์ทเซิร์ฟเวอร์แอพลิเคชันของฉัน ( gunicorn ) supervisorctl
ซึ่งผมคาดคะเนไม่สามารถใช้
un supervisord.conf
gunicorn ของฉันถูกกำหนดดังนี้:
[program:gunicorn]
command=/home/imb/imb/venv/bin/gunicorn --worker-class eventlet -b 127.0.0.1:5000 -w 1 app:app
directory=/home/imb/imb
autostart=true
autorestart=true
stdout_logfile=/tmp/gunicorn.log
redirect_stderr=true
stopsignal=QUIT
และฉันเปิดใช้งานsupervisorctl
เช่นนี้:
[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket
ฉันเริ่มหัวหน้างานโดยใช้
sudo supervisord -c /home/imb/imb/supervisord.conf
เท่าที่ฉันเข้าใจฉันควรจะสามารถเริ่มต้น gunicorn ใหม่โดยใช้คำสั่งsupervisorctl restart gunicorn
ได้ แต่เมื่อฉันได้รับ
$ supervisorctl restart gunicorn
unix:///var/run/supervisor.sock no such file
ฉันตรวจสอบแล้วและไม่มีไฟล์/var/run/supervisor.sock
อยู่แม้ว่าฉันจะแน่ใจว่าหัวหน้างานกำลังทำงานจริง:
$ ps -A | grep supervisor
27211 ? 00:00:00 supervisord
ไม่มีใครรู้ว่าทำไม/var/run/supervisor.sock
ไฟล์จึงไม่ถูกสร้างขึ้นแม้ว่าหัวหน้างานจะทำงานได้อย่างชัดเจนหรือไม่ ยินดีต้อนรับเคล็ดลับทั้งหมด!