刚刚在谷歌云平台上使用点击部署安装了mongodb。我有另一个项目,为此我创建了mongodb数据库,我的Web应用程序运行在该项目中。 我是否必须打开某个端口或配置某些东西?
答案 0 :(得分:10)
正如此线程中的其他答案所示,mongod
守护程序正在侦听TCP端口27017
。因此,对于此端口和协议,您需要在计算引擎防火墙上add a firewall rule。这可以使用Google Cloud console或使用gcloud
命令工具完成:
gcloud compute firewall-rules create allow-mongodb --allow tcp:27017
建议将目标标记与防火墙规则一起使用,并使用此目标标记指定应将防火墙规则应用于哪些VM实例。
答案 1 :(得分:1)
在防火墙中添加端口还不够。默认情况下,主机绑定到127.0.0.1,需要将其更改为0.0.0.0 在实例内部的文件sudo nano /etc/mongod.conf中进行更改 寻找术语bindIp 将其更改为0.0.0.0并重新启动mongodb 您现在就可以连接到mongo数据库
答案 2 :(得分:0)
单击Http或Https复选框以激活外部IP地址,以便您可以使用它来访问数据库
答案 3 :(得分:0)
在Mongodb项目中,您应该为端口27017打开防火墙。
MongoDB使用的端口列于:
http://docs.mongodb.org/manual/tutorial/configure-linux-iptables-firewall/
的问候,
保罗
答案 4 :(得分:0)
此answer说明了如何为端口27017
设置防火墙规则。
可能导致此问题的另一个问题是在单独的网络中运行您的mongodb并将其他实例放在默认网络上(反之亦然)。
我遇到了这个问题,在将两个实例都放在同一个网络上之后,就能够按名称连接到mongo实例。
以下是如何在app.yaml
中为托管虚拟机设置网络的示例:
network:
instance_tag: https-server
name: my-node-network