uwsgi pidfile удаляется автоматически - PullRequest
1 голос
/ 30 мая 2019

У меня есть настройка сервера nginx с django и uwsgi. Существует несколько приложений django, запущенных одновременно на разных virualenvs, отдельные процессы uwsgi на отдельных портах, которые слушает nginx. Настройка работает хорошо.

Я использую флаг 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

Что может быть причиной удаления pid-файла? как я могу предотвратить это?

...