Tornado Python作为守护程序

Aman Gautam |

我用龙卷风编写了代码,我想使其像apache或nginx一样工作,那就是

  1. 即使关闭外壳,它也必须继续监听端口。
  2. 它必须在系统重启时自动启动

我尝试过nohup命令以使其即使在关闭外壳时也能正常工作。有用。但是我想知道是否有更清洁的选择可用于相同的选择?

Aman Gautam |

取自此处的官方文档

总览

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

发展历程

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

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

仪器仪表

生产

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

流程管理

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

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

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

代理

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

部署方式

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python Tornado文件下载

来自分类Dev

Python 3 Tornado 网站

来自分类Dev

Python Tornado:记录信息

来自分类Dev

用于 websockets 的 Python Tornado 提取处理程序

来自分类Dev

Python Tornado - TCPServer 和应用程序

来自分类Dev

Python Tornado:缺少WSGI模块?

来自分类Dev

Python Tornado渲染静态目录

来自分类Dev

Python Tornado:如何使这个异步?

来自分类Dev

Python Tornado SSL websocket 连接

来自分类Dev

使用python作为守护程序运行Django

来自分类Dev

Tornado WebSockets处理程序的无限“后台”循环

来自分类Dev

Tornado应用程序/ JSON支持

来自分类Dev

Tornado应用程序/ JSON支持

来自分类Dev

Python Tornado-禁用记录到stderr

来自分类Dev

Python Tornado更新请求之间的共享数据

来自分类Dev

在Tornado Python中从RequestHandler访问URL

来自分类Dev

Python Tornado gen.engine异常处理

来自分类Dev

登录异步Tornado(python)服务器

来自分类Dev

Python Tornado-禁用记录到stderr

来自分类Dev

APScheduler在Tornado Python中运行异步功能

来自分类Dev

Python / Tornado类包装器缓存问题

来自分类Dev

在Heroku上的python-tornado chatdemo

来自分类Dev

python tornado periodCallback 在特定时间

来自分类Dev

如何将python程序作为守护程序运行?

来自分类Dev

如何将python程序作为守护程序运行?

来自分类Dev

使用Gunicorn作为流程管理器将New Relic与Tornado应用程序集成

来自分类Dev

使用Gunicorn作为流程管理器将New Relic与Tornado应用程序集成

来自分类Dev

PHP脚本作为守护程序

来自分类Dev

测试Tornado应用程序的4xx状态代码