Tornado Python作为守护程序

Tornado Python作为守护程序,第1张

Tornado Python作为守护程序

取自此处的官方文档。

总览

大多数Tornado应用程序都作为单个进程运行。对于生产而言,这通常意味着外部流程管理和代理的直接组合。这里是一些最佳实践/资源。

发展历程

当调试模式被启用,模板不缓存,应用程序将在开发过程中自动重新启动。但是,如果发生Python语法错误,此 *** 作将失败。(这可以通过一些附加代码解决,也可以通过在开发中使用Supervisor来解决)

您可能想从终端多路复用器(如屏幕或tmux)运行应用程序,以便在使事情继续运行和跟踪致命错误时更加灵活。

仪器仪表生产

通常在生产中,使用前端代理运行多个龙卷风应用程序进程(每个内核至少一个)。龙卷风开发者bdarnell有一个龙卷风生产骨架,使用Supervisor(流程管理)和nginx(代理)对此进行了说明。

流程管理

传统上,Tornado应用程序是单进程的,并且需要外部进程管理器,但是HTTPServer可以与多个进程一起运行。此外,还有几个额外的帮助程序可以帮助您管理多个流程。

主管

  • 使用Supervisor管理多个Pylons应用程序-Supervisor入门的绝佳教程
  • 部署龙卷风应用程序-带有Supervisor和Nginx设置演练的简短教程
  • administratord-example.conf-这是用于运行4个龙卷风实例的示例cfg
  • Nginx Supervisod模块-该模块允许Nginx根据需要启动/停止后端

守护进程

  • start-stop-daemon示例-如果您运行的是标准Linux系统,这是守护Tornado应用程序的简便方法
  • Upstart示例-Upstart内置于Ubuntu中,可以重新生成崩溃的实例。

龙卷风多进程

如上所述,可以为单个或多个套接字上的多个进程配置Tornado的HTTPServer。

代理

官方文档包含一个示例,该示例用于将nginx作为负载平衡代理运行并提供静态文件。

部署方式
  • 将Python Web(Tornado)应用程序部署到多台服务器-关于使用Load Balancer进行实时迁移而无停机的简短讨论
  • 带结构的滚动部署
  • Python部署反模式
  • buedafab-带有EC2的Fabric部署脚本的不错集合


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5668524.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存