【发布时间】:2017-04-29 15:23:02
【问题描述】:
我第一次在我的 Debian 8 上安装了 mongodb,遵循mongodb install guide。目标是将 mongodb 用于 Rocket.chat,为此我关注 this guide。
到目前为止,我所做的只是:
$sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
$echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.4 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
$sudo apt-get update
$sudo apt-get install mongodb-org
$sudo systemctl enable mongod
$sudo vi /etc/mongod.conf
<insert>
replication:
oplogSizeMB: 1
replSetName: rs0
$sudo systemctl restart mongod
$export LC_ALL=C
$sudo mongo
MongoDB shell version v3.4.0
connecting to: mongodb://127.0.0.1:27017
2016-12-14T10:21:55.356+0100 W NETWORK [main] Failed to connect to 127.0.0.1:27017 after 5000 milliseconds, giving up.
2016-12-14T10:21:55.356+0100 E QUERY [main] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:234:13
@(connect):1:6
exception: connect failed
当我试图访问 mongo shell 时,我正在监视日志文件,但没有任何显示。
mongod 服务正在运行,配置为侦听 127.0.0.1,我正在本地处理服务器。
如何从 localhost 访问 mongo shell?
编辑已解决。问题是一个 iptables 规则,它不允许本地连接到 mongodb。
【问题讨论】:
-
尝试删除 /var/lib/mongodb/mongod.lock 文件并重启服务。然后尝试连接。
-
删除锁重启服务后连接失败,报同样的错误信息。
-
奇怪!只是为了测试,停止服务并手动运行 mongodb,然后尝试使用“mongo”进行连接。你可以简单地运行'mkdir -p /data/db && chown -R $USER:$USER /data/db && mongod'。在此之后打开另一个 shell 并运行“mongo”。如果这可行,那么很可能,它有一些权限问题。
-
再次失败并出现同样的错误。
-
您有防火墙吗?运行 'iptables -L'
标签: node.js mongodb nginx debian rocket.chat