我有一個用Python編寫的使用Flask的小應用程序。現在我在nohup下運行它,但是我想將它進行daemonize。這樣做的正確方法是什麼?你如何守護一個Flask應用程序?
21
A
回答
29
There are several ways to deploy a Flask project。與gunicorn部署可能是最簡單的,安裝gunicorn然後:
gunicorn project:app --daemon
雖然你可能想使用主管或類似這種事情監測gunicorn(至少是使用--pid
這樣你就可以重新載入/停止gunicorn容易)。
2
如果您已經安裝了主管,我認爲gunicorn會有點多餘。以下是可以放在/etc/supervisord.d/中的flask.ini文件(然後「supervisorctl reload」重新加載配置並啓動進程)。
command=/opt/flask/env0/bin/python /opt/flask/developer/FlaskWebServer.py
directory=/opt/flask
redirect_stderr=true
startsecs=5
autorestart=true
stdout_logfile=/opt/flask/flask.stdout.log
0
如果你想監督,並使其在重啓後持續性,可以使用immortal
你可以這樣調用它:
不朽-l /無功/日誌/你的 - 應用gunicorn項目:應用
或通過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/
相關問題
- 1. 扭曲:從另一個應用程序守護進程產生應用程序守護進程
- 2. 增值公地守護程序的一個應用程序
- 3. 如何守護Java程序?
- 4. 你如何在Python中創建一個守護進程?
- 5. 守護程序線程不止一個?
- 6. Monotouch守護進程應用程序
- 7. 使用JSVC守護java應用程序
- 8. 如何用erlang創建守護程序?
- 9. 守護事件機器應用程序
- 10. 守護程序和應用控制
- 11. 寶石守護程序 - 如何運行幾個不同的守護進程
- 12. 密碼保護Flask應用程序中的一個網頁
- 13. 我們如何製作守護進程應用程序?
- 14. 使用celeryd作爲一個守護進程與多個Django應用程序?
- 15. 你如何維護你的多語言應用程序?
- 16. 在Linux上如何守護一個c/C++程序
- 17. 如何守護進程?
- 18. 用nginx運行一個守護進程的瓶子應用程序
- 19. 如何使用OneDrive CSharp SDK作爲服務或守護程序應用程序?
- 20. 如何使用systemd將應用程序作爲守護程序運行?
- 21. init進程是一個守護進程
- 22. 如何使用jsvc將java程序轉換爲守護程序?
- 23. 如何使用Jsvc作爲守護程序啓動Java程序
- 24. 如何使用zdaemon創建多個腳本守護程序?
- 25. 守護程序線程 - 使用案例
- 26. 的差異控制守護程序和應用程序
- 27. 作爲守護程序服務的Spring Boot應用程序?
- 28. 如何創建一個可以通過Web應用程序調用的基於Scala的服務守護程序?
- 29. 如何爲OSX創建守護程序/啓動代理/後臺應用程序?
- 30. iOS守護程序應用程序無法啓動(越獄) - 如何調試?
請注意,使用此設置,您正在運行Flask內置服務器,該服務器不能很好地擴展。 – 2017-12-26 01:43:27