如何在其他设备上连接Python + Tornado和MongoDB?

时间:2014-07-10 06:06:35

标签: python deployment tornado openshift

我正在尝试使用Auto-Scale Enabled Python 2.7盒式磁带在openshift上运行Tornado。 我删除了wsgi.py,因为它阻止了Tornado。 然后它无法启动:

$gear start
Starting gear...
HAProxy instance is started
Starting Python 2.7 cartridge (Apache+mod_wsgi)
Application directory "/" selected as DocumentRoot
CLIENT_ERROR: WSGI application was not found

是否可以使用扩展启用运行Python2.7 cardridge(所以MongdoDB保持分离的设备,但可以在不需要ssh隧道的情况下进行通信?)但是没有实际扩展(没有Apache + mod_wsgi,没有HaProxy)?

2 个答案:

答案 0 :(得分:0)

我终于开始工作了。使用我的cartdriges,您可以绕过Openshift限制,只能在可伸缩应用程序之间连接数据库。为此,我创建了两个cartdriges。使用我的购物车驱动器,无论是否缩放,您都可以连接到DB齿轮。

首先创建新的python应用程序,未缩放,你可以在这里使用我的cartdridge: https://github.com/v3ss0n/openshift-pynado-xport

rhc app create pythonx http://cartreflect-claytondev.rhcloud.com/github/v3ss0n/openshift-pynado-xport

这将提供anaconda Python 2.7.8 + virtualenv + tornado + pymongo随时可用。

然后使用我的mongox-unbound cartdrige创建新的mongodb应用程序: https://github.com/v3ss0n/openshift-mongox-unbound

rhc app create mongox http://cartreflect-claytondev.rhcloud.com/github/v3ss0n/openshift-mongox-unbound

这将创建名为mongox和用户admin的数据库的Mongo 2.6,随机生成数据库passwor并在安装结束时提示。

在python应用程序中测试它:

mongo = pymongo.Connection("mongodb://admin:password@MONGODB_APP_NAME-YOURDOMAIN.rhcloud.com:PORT/")

使用它,您可以从python / php / java应用程序中单独托管Mongodb。

如果您需要帮助我的github,请回答我的问题。

答案 1 :(得分:-1)

我建议您使用位于此处的龙卷风快速入门:https://www.openshift.com/quickstarts/tornado-web-server-and-python-33-on-openshift。这将通过一个命令或单击使用tornado和python 3.3启动并运行。