我有一台安装了Ubuntu的EC2机器。在机器上,我已经安装了Node.js、MongoDB和Github版本的Parse。
我创建了一个名为欧元的数据库。在这个数据库中,我使用以下代码创建了一个用户:
> use euro
switched to db euro
> db.createUser(
... {
... user: 'username',
... pwd: 'password',
... roles: [ { role: 'readWrite', db:'euro' } ]
... }
... )在迁移应用程序之前,我注意到在AWS EC2实例管理页面中,您可以看到两个IP地址:公共IP和私有IP,所以我使用了公共IP。
在Parse.com设置中,我单击了迁移按钮,并输入了以下地址:
mongodb://username:password@<ipaddress>:27017/euro在address字段下面,它被写为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?本地人?
发布于 2016-04-04 07:47:33
问题是我在启动服务器时收到了一些警告。显然,它阻止了Parse.com连接到我的MongoDB。
$ mongo
MongoDB shell version: 3.0.11
connecting to: test
Server has startup warnings:
2016-04-01T07:28:10.926+0000 I CONTROL [initandlisten]
2016-04-01T07:28:10.926+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2016-04-01T07:28:10.926+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2016-04-01T07:28:10.926+0000 I CONTROL [initandlisten]
2016-04-01T07:28:10.926+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2016-04-01T07:28:10.926+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2016-04-01T07:28:10.926+0000 I CONTROL [initandlisten]
>我无法解决这个问题,因为我在没有root权限的情况下使用了这个命令$ service mongod restart。我应该使用这个命令$ sudo service mongod restart。
https://stackoverflow.com/questions/36222219
复制相似问题