我托管使用tornado webserver开发的应用程序

时间:2013-01-28 06:42:31

标签: python google-app-engine webserver hosting tornado

是否有托管服务用于托管使用龙卷风开发的简单应用程序。(就像我们在Google App Engine中托管)。是否有可能在Google App Engine上托管?。应用程序就像一些学生数据(添加,删除,搜索等)。我使用python开发。

提前致谢

3 个答案:

答案 0 :(得分:1)

Heroku是部署Tornado支持的应用程序的不错选择。

这可能是helpful

答案 1 :(得分:1)

在heroku上,Cedar堆栈尚不支持WebSockets协议。

答案 2 :(得分:1)

绝对有可能在App Engine上托管Tornado应用程序;但是,您需要牢记几点需要注意的事项:

  • App Engine正在通过WSGI部署所有内容,这意味着您无法利用Tornado的异步功能,只要WSGI在设计上是异步的。如果您可以使用它,则需要使用WSGIAdapter包装您的应用:

    app = tornado.web.Application(url_list, **server_settings)
    
    if __name__ == '__main__':
        # start the server if run directly
        import tornado.httpserver
        http_server = tornado.httpserver.HTTPServer(app)
        http_server.listen(8080, address='localhost')
        tornado.ioloop.IOLoop.instance().start()
    else:
        # wrap as WSGI
        import tornado.wsgi
        app = tornado.wsgi.WSGIAdapter(app)
    
  • App Engine要求在您的源代码中销售所有特定于应用程序的库,因此您无法使用virtualenvs,也无法通过pip安装库,以及所有模块< strong>必须是纯Python。最好的方法是有一个特殊的目录,不是你的源代码控制跟踪的,并用pip install -U -t lib/ -r requirements.txt在本地安装所有东西(假设目录名为lib。当然,你需要编写你的代码通过在应用程序的配置中添加此内容来了解​​此目录:

    sys.path.insert(0, os.path.join(os.path.abspath('.'), 'lib'))