运行Tornado Web服务器(在实际服务器上,而不仅仅在本地)

时间:2016-11-26 08:49:57

标签: ssh server tornado

这是我第一次使用网络服务器。我有一个 .py 程序,它是我的 Tornado服务器,可以成功处理请求。我已经在我的本地机器上测试了它,然后将它发送到我的主机。我在 SSH会话中运行该程序并且工作非常好,但在我退出SSH会话之后, Tornado服务器已停止。现在我真的想知道 在我的服务器上运行Tornado服务的正确方法。

2 个答案:

答案 0 :(得分:0)

1:Supervisor正是您要找的。 Supervisor是一个客户端/服务器系统,允许其用户监视和控制类UNIX操作系统上的许多进程。

2:就像nohup一样,你可以使用tmux在后​​台运行你的服务器,它提供了很多其他的功能,使它在终端上非常高效。

您还可以查看龙卷风Running and deploying部分以获取更多建议。

答案 1 :(得分:0)

这主要取决于您所考虑的部署类型。如果您有完整的服务器,则可以使用supervisor建议的billy_lu;为了更健壮的设置,您可以将您的Tornado服务器置于Nginx后面,作为load balancer

另一方面,一些提供商不提供完全访问权限,并要求使用WSGI协议提供Python Web应用程序;一个很好的例子是Google App Engine。在这种情况下,您需要将您的Tornado应用程序包装在WSGIAdapter;像这样的东西:

if __name__ == '__main__':
    import tornado.httpserver
    http_server = tornado.httpserver.HTTPServer(app)
    http_server.listen(options.server_port, address=options.server_address)
    tornado.ioloop.IOLoop.instance().start()
else:
    import tornado.wsgi
    app = tornado.wsgi.WSGIAdapter(app)