取自此处的官方文档。
总览大多数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部署脚本的不错集合
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)