Python 我在这里托管使用tornado webserver开发的应用程序
是否有任何托管服务可以托管使用tornado开发的简单应用程序(就像我们在Google应用程序引擎中托管一样)。是否可以在Google App Engine上托管?这些应用程序就像一些学生数据(添加、删除、搜索等)。我是用python开发的 提前感谢是部署龙卷风驱动应用程序的好选择Python 我在这里托管使用tornado webserver开发的应用程序,python,google-app-engine,webserver,hosting,tornado,Python,Google App Engine,Webserver,Hosting,Tornado,是否有任何托管服务可以托管使用tornado开发的简单应用程序(就像我们在Google应用程序引擎中托管一样)。是否可以在Google App Engine上托管?这些应用程序就像一些学生数据(添加、删除、搜索等)。我是用python开发的 提前感谢是部署龙卷风驱动应用程序的好选择 这可能是heroku的WebSockets协议在Cedar堆栈上还不受支持。完全可以在App Engine上托管Tornado应用程序;但是,您需要记住以下几点注意事项: AppEngine正在通过WSGI部署所有
这可能是heroku的WebSockets协议在Cedar堆栈上还不受支持。完全可以在App Engine上托管Tornado应用程序;但是,您需要记住以下几点注意事项:
- AppEngine正在通过WSGI部署所有内容,这意味着如果WSGI在设计上是异步的,就不能利用Tornado的异步特性。如果你能接受,你需要用
包装你的应用程序: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)
- appengine要求所有特定于应用程序的库都在源代码中提供,因此您不能使用
,也不能通过virtualenvs
安装库,并且所有模块必须是纯Python。最好的方法是使用一个特殊的目录,不受源代码管理的跟踪,并使用pip
pip install-U-t lib/-r requirements.txt在本地安装所有内容(假设该目录名为
。当然,您需要通过在应用程序配置中的某个位置添加以下内容来让代码知道该目录:lib
sys.path.insert(0, os.path.join(os.path.abspath('.'), 'lib'))