我创建了一个项目并使用" Click to Deploy"来部署MEAN堆栈。当我访问<> / 3000我确实看到来自服务器的MEAN页面。我也可以ssh到那台机器,看看那里的所有东西。我可以这样访问MongoDB实例。
我还创建了一个单独的VM,我自己安装了Node.JS和MongoDB。两者的工作方式相似。
我的问题是 - 我无法从本地RoboMongo实例访问任何一台机器,也无法从本地shell访问它们。我在aws世界中有类似的问题,解决方案是创建安全组以允许mongodb端口(27017)。所以我尝试了并添加了#34;防火墙规则"在"网络"并允许所有传入流量的端口 - >如吼叫
来自外界的mongodb通讯 来源范围: 0.0.0.0/0 允许的协议或端口: TCP:27017 但问题仍然存在,我无法从robomongo或本地shell访问mongodb实例。有什么想法吗?
答案 0 :(得分:1)
我建议您通过运行以下命令检查MongoDB是否正在侦听端口27017:
sudo netstat -nap | grep 27017
我建议您尝试关闭虚拟机上的IP表并尝试访问可能会阻止您访问的规则。 还有一件事要检查你的 bindIp 使用 db.serverCmdLineOpts()
答案 1 :(得分:1)
启动mongod时应该配置bind_ip = 0.0.0.0 例如 下面是mongod.conf
fork = true
bind_ip = 0.0.0.0
port = 27017
quiet = true
dbpath = /srv/mongodb
logpath = /var/log/mongodb/mongod.log
logappend = true
journal = true
并以此命令启动mongo
sudo mongod --config /etc/mongodb.conf
现在,您可以通过外部IP与27017作为端口连接Google云VM上的Mongo。