UPDATED:
我刚刚开始处理一个新的VPS,我试图从localhost(使用robomongo)连接其端口27017(mongodb数据库) .
它在我的localhost机器和另一台远程服务器上工作,但是我无法在这个VPS上连接mongodb,这可能导致这个问题?我这样开始:
mongod --setParameter enableLocalhostAuthBypass=0 --config /etc/mongodb.conf --fork
在/etc/mongodb.conf文件中没有注释 auth = true
(但看起来问题不在于我无法验证,但mongodb根本没有响应) . 当我通过SSH连接启动 mongo admin -u root -p root
时,它工作得很好(我可以连接我的数据库),我可以看到mongodb在端口27017上正常收听 .
但是,当我尝试从我的本地机器访问它时,它无法 Build 连接,如果我尝试将其与我的浏览器连接,我应该得到一个mongodb错误消息: You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number
但我没有,我只是有Chrome的失败页面(端口28017也没有响应) .
怎么解决这个?我的VPS是全新的,我可能需要安装更多的软件包,但我真的不知道可能需要什么,它看起来像防火墙问题,就像在请求到达之前阻止mongodb和响应的东西,我有juste安装了apache2和nginx并且它们没有运行所以我真的没有看到......
2 回答
好的,我发现了这个问题!
/etc/mongod.conf
文件中有一行bind_ip 127.0.0.1
. 它仅提供对mongodb的指定IP地址的访问权限 .您应该创建一个IP数组并编辑配置文件:
x.x.x.x
是你的IP .我用文件(/etc/mongod.conf)解决了这个问题,注释如下:
#bindIp:127.0.0.1#仅监听本地接口,在所有接口上发表评论 .