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