我有一个在nginx和uwsgi上运行的python / Django项目(myproject)。
我通过supervisord运行uwsgi命令。这非常有效,但在重新启动supervisord时会创建僵尸进程。我究竟做错了什么?我清楚地看到干净利落的是什么?任何建议?
主管服务通常需要太长时间。那时我在supervisor.log
文件
INFO等待stage2_BB_wsgi,stage3_BB_wsgi,stage4_BB_wsgi去世
指向注意:我在一台计算机上运行多个登台服务器,即stage2 .. stageN
提前谢谢。supervisor.conf 文件提取
[program:stage2_BB_wsgi] command=uwsgi --close-on-exec -s /home/black/stage2/shared_locks/uwsgi_bb.sock --touch-reload=/home/black/stage2/shared_locks/reload_uwsgi --listen 10 --chdir /home/black/stage2/myproject/app/ --pp .. -w app.wsgi -C666 -H /home/black/stage2/myproject/venv/ user=black numprocs=1 stdout_logfile=/home/black/stage2/logs/%(program_name)s.log stderr_logfile=/home/black/stage2/logs/%(program_name)s.log autostart=true autorestart=true startsecs=10 exitcodes=1 stopwaitsecs=600 killasgroup=true priority=1000
答案 0 :(得分:1)
您需要将stopsignal
设置为INT
或QUIT
。
默认情况下,supervisord
在重新启动程序时会发出SIGTERM
。这不会杀死uwsgi
,只会重新加载它及其工作人员。