上我已经建立了MongoDB的服务器外部的主机服务器上运行,我可以做在客户端计算机下列轻松连接蒙戈客户壳:pymongo无法连接到数据库的远程服务器
162.243.27.34 --port 27017
但是当我尝试连接到服务器使用pymongo使用python我得到以下输出
import pymongo
client = pymongo.MongoClient('162.243.27.34', 27017)
错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/pymongo/mongo_client.py", line 352, in __init__
raise ConnectionFailure(str(e))
pymongo.errors.ConnectionFailure: could not connect to 162.243.27.34:27017: [Errno 111] Connection refused
我在这里做错了什么?
更新 - 一些更多的信息
中的IP 162.243.27.34的数据库服务器和客户端是一个不同的IP单独的服务器。在上面的例子中,我试图从远程客户端服务器连接而不是连接到'localhost'。
数据库服务器上有防火墙,但客户端有权访问,并且mongo客户端命令行程序可以很好地与客户端服务器连接我假设从客户端连接到数据库时没有网络问题服务器,而不是我在如何使用python连接的问题。
更新2
运行以下命令:
cat /etc/mongodb.conf
显示:
bind_ip = 127.0.0.1
#port = 27017
而且我使用MongoDB的外壳版本:2.0.4
是你从外壳连接本地或远程。那么''mongod'运行在同一服务器实例上的外壳连接是什么?如果是这样,那么你使用了相同的IP地址还是本地主机(127.0.0.1)? –
@NeilLunn感谢您的回复,我在问题 –
中加入了一些细节,所以要清楚。您正在使用**相同的** IP地址从您正在尝试运行您的Python应用程序的** **客户端进行连接。那是对的吗?也可以尝试'ps aux | grep mongod'在mongo服务器上和/或在使用的配置文件中查找'bind_ip'。确保它与您发布的内容或其他内容没有区别'0.0.0.0' –