【发布时间】:2016-07-13 08:15:25
【问题描述】:
我有一台安装了 Ubuntu 的 EC2 机器。在机器上,我已经安装了 Node.js、MongoDB 和 Github 版本的 Parse Server。
我创建了一个名为 euro 的数据库。在这个数据库中,我使用以下代码创建了一个用户:
> use euro
switched to db euro
> db.createUser(
... {
... user: 'username',
... pwd: 'password',
... roles: [ { role: 'readWrite', db:'euro' } ]
... }
... )
在迁移应用程序之前,我注意到在 AWS EC2 实例管理页面中,您可以看到 2 个 IP 地址:公共 IP 和一个私有 IP,因此我使用了公共 IP。
在 Parse.com 设置中,我单击了“迁移”按钮,并输入了以下地址:
mongodb://username:password@<ipaddress>:27017/euro
在地址字段下方,写着No reachable servers。
我可以做些什么来解决它并将应用程序迁移到我的 EC2 实例?
编辑#1:
我已重新启动我的 AWS 服务器,因此我的公共 IP 地址已更改。我尝试使用此地址将连接字符串更改为新 IP:
mongodb://username:password@<ipaddress>:27017/euro
但突然它显示No reachable servers。
我应该怎么做才能解决这个问题?我想尽快迁移它。
编辑 #2:
我检查了这个命令 sudo netstat -pan | grep mongod 来检查它正在监听哪个 IP,我得到了这个输出:
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 10945/mongod
tcp 0 0 127.0.0.1:27017 127.0.0.1:45406 ESTABLISHED 10945/mongod
unix 2 [ ACC ] STREAM LISTENING 28614 10945/mongod /tmp/mongodb-2
它是否在公共 IP 上监听?私有IP?本地主机?
【问题讨论】:
-
你在安全组中打开了27017端口吗?
-
我打开了端口,现在当我尝试迁移它时,它显示这条消息
We strongly suggest you enable SSL on your database and use the URL option 'ssl=true'。我试图在连接字符串的末尾添加?ssl=true,但现在它再次显示No reachable servers。我该怎么办? -
在尝试通过 SSL 连接之前,您可能需要在服务器端启用 SSL。 docs.mongodb.org/manual/tutorial/configure-ssl
-
您尝试使用自签名 ssl 证书还是购买?
-
尝试正常的 telnet 诊断。 IE。远程登录 IP 地址 27017 。如果您收到连接被拒绝错误,则 ssh 进入您的 ec2 实例,并执行相同的操作。如果也失败了,请检查您的 mongodb 配置
标签: mongodb ubuntu parse-platform amazon-ec2