【问题标题】:Nginx Tornado and Flask - What's a good start/stop script and keep-alive methodNginx Tornado 和 Flask - 什么是好的启动/停止脚本和保活方法
【发布时间】:2012-01-23 08:30:03
【问题描述】:

我已经设置了一个 Flask 应用程序以在由 nginx 支持的龙卷风服务器上运行。我已经编写了几个 bash 脚本来在部署新版本时重新加载服务器配置,但我对它们不满意。基本上我所拥有的是:

启动服务器(假设在项目根目录)

# this starts the tornado-flask wrapper
python myapp.py --port=8000 # .. some more misc settings

# this starts nginx
nginx

停止它

pkill -f 'myapp.py'
nginx -s stop

重启

cd $APP_ROOT
./script/stop && ./script/start

很多时候这些都不能顺利运行,我需要手动运行这些命令。另外,我正在寻找一种方法来验证服务是否存在,并在它关闭时启动它。想法?谢谢。

【问题讨论】:

  • 我在看类似的设置,你有没有写过博客文章?
  • 呃,抱歉 :)。由于 MySQL/Tornado 长查询的一些阻塞问题,我最终使用 Gunicorn 而不是 Tornado。我的设置相当简单,可以使用大量的 pulishing。见this gist。然后,您可以使用update-rc.d 命令在机器启动时进行设置,或手动运行它们。我还使用了 linode regarding nginx 中的文档,并应用了一些信息 in this railscasts(关于服务器配置的部分)。希望这会有所帮助。
  • 具体来说,this page 描述了为 nginx 设置一个初始化脚本。

标签: nginx tornado flask server-configuration


【解决方案1】:

Supervisor 就是你要找的东西。

我用它来管理我的Tornado 应用程序以及其他一些处理守护进程。 它将守护进程、处理日志记录、pid 文件......几乎你需要的一切。

【讨论】:

    猜你喜欢
    • 2012-09-05
    • 2016-03-19
    • 1970-01-01
    • 2014-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-22
    • 1970-01-01
    相关资源
    最近更新 更多