使用主管运行烧瓶应用程序

时间:2016-03-24 18:11:01

标签: supervisord

我正在WebFaction上部署我的Flask应用程序。我正在使用flask-socketio,这导致我使用Custom Websocket App(侦听端口)部署它。 Flask-socketio指示我在我的主python脚本中通过调用socketio.run(app,port =< port_listening_on>)启动服务来部署我的应用程序。我在服务器上安装了eventlet,因此socketio.run应该在eventlet Web服务器上运行app。

我可以调用python<应用程序> .py和所有工作都很棒 - 服务器运行,可以在域中查看它,套接字工作等等。当我尝试将其转换为长时间运行的进程时,我的问题就开始了。我被建议使用我在webapp上安装和配置的主管,遵循以下说明:https://community.webfaction.com/questions/18483/how-do-i-install-and-use-supervisord-to-control-long-running-processes

问题是我实际上为主管添加命令以运行我的应用程序错误:

Exited too quickly

我的日志说明了上述错误以及:

(exit status 1; not expected)

在我的超级用户配置文件中,我目前有以下程序配置:

[program:<prog_name>]
command=/usr/bin/python2.7 /home/<user>/webapps/<app_name>/<app>.py
autostart=true
autorestart=true

我尝试过删除和添加设置,但这都会导致同样的致命错误。

1 个答案:

答案 0 :(得分:0)

所以这是我的主管配置的一部分,我使用gunicorn来运行我的烧瓶应用程序。

此外,我将错误记录到来自超级用户配置的文件中,因此如果您这样做,它可能会帮助您了解它无法正常启动的原因。

[program:gunicorn]
command=/juzten/venv/bin/gunicorn run:app --preload -p rocket.pid -b 0.0.0.0:5000 --access-logfile "-"
directory=/juzten/app-folder-name
user=juzten
autostart=true
autorestart=unexpected
stdout_logfile=/juzten/gunicorn.log
stderr_logfile=/juzten/gunicorn.log