uwsgi pidfile自动删除

时间:2019-05-30 06:35:29

标签: django uwsgi daemon

我有一个使用django和uwsgi的nginx服务器设置。 在不同的virualenv上同时运行多个django应用程序,在nginx侦听的不同端口上有独立的uwsgi进程。 设置工作正常。

我使用pidfile标志来停止uwsgi进程。启动任何uwsgi服务器时,都会创建pidfile,并且可以立即使用下面提供的脚本重新启动而不会出错。

一段时间后,当我再次更新服务器时,pid文件消失了,而uwsgi进程仍在运行。这使这种方法毫无用处。

project_A_uwsgi.ini:

[uwsgi]
 master          = true
 socket          = /tmp/stripe_test_uwsgi.sock
 chmod-socket    = 666
 chdir           = /home/ubuntu/TestProjects/ProjectA
 wsgi-file       = /home/ubuntu/TestProjects/ProjectA/ProjectA/wsgi.py
 virtualenv      = /home/ubuntu/TestProjects/ProjectA/venv
 vacuum          = true
 enable-threads  = true
 daemonize= /home/ubuntu/TestProjects/ProjectA/uwsgi.log

project_A_server_restart.sh:

#!/bin/sh

DEPLOYMENT_PATH='/home/ubuntu/TestProjects/ProjectA'

. ${DEPLOYMENT_PATH}/venv/bin/activate
uwsgi --stop /home/ubuntu/TestProjects/project_A_uwsgi.pid

uwsgi --ini /home/ubuntu/TestProjects/project_A_uwsgi.ini --pidfile /home/ubuntu/TestProjects/project_A_uwsgi.pid

sudo service nginx restart

删除pidfile的原因可能是什么?我该如何预防?

0 个答案:

没有答案