У меня есть небольшое приложение, написанное на Python с использованием Flask. Прямо сейчас я запускаю его под nohup, но я бы хотел его демонизировать. Как правильно это сделать?
Существует несколько способов развертывания проекта Flask . Развертывание с помощью gunicorn может быть самым простым, установите gunicorn, а затем:
gunicorn project:app --daemon
Хотя вы, вероятно, хотите использовать супервизор или что-то в этом роде для мониторинга gunicorn (по крайней мере, используйте --pid
, так что вы можете легко перезарядить / остановить Gunicorn).
Если вы хотите контролировать его и сохранять его постоянным при перезагрузках, вы можете использовать бессмертный
Вы можете назвать это так:
immortal -l / var / log / your-app gunicorn project: app
Или через run.yml , например:
cmd: gunicorn project:app
cwd: /path/of/project
env:
DEBUG: 1
ENVIRONMENT: production
log:
file: /var/log/app.log
age: 86400 # seconds
num: 7 # int
size: 1 # MegaBytes
timestamp: true # will add timesamp to log
stderr:
file: /var/log/app-error.log
age: 86400 # seconds
num: 7 # int
size: 1 # MegaBytes
timestamp: true # will add timesamp to log
user: www
Подробнее о бессмертных: https: //immortal.run/about/