我已经设置了一个在外部主机服务器上运行的mongodb服务器,我可以通过在客户端计算机shell中执行以下操作来轻松连接mongo客户端:
162.243.27.34 --port 27017
但是当我尝试使用python使用pymongo连接到服务器时,我得到以下输出
import pymongo client = pymongo.MongoClient('162.243.27.34', 27017)
错误
Traceback (most recent call last): File "", line 1, in 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 shell版本:2.0.4
替换bind_ip = 127.0.0.1
with bind_ip = 0.0.0.0
以允许从远程主机连接到MongoDB.