2013-03-01 167 views
2

我创建了两个AWS实例,并为它们分配了两个不同的弹性IP。一个实例用于数据库服务器(在MongoDB中托管),另一个用于托管网站。无法连接到其他服务器上托管的MongoDB - PHP

我无法通过我的PHP代码连接到服务器。我的代码看起来下:

try{ 
    $connection = new Mongo('mongodb://107.21.230.121:27017'); 
} 
    catch (MongoConnectionException $exception) 
{ 
    print_r($exception->getMessage()); 
} 

当我跑在我的网站的代码,我得到以下错误:

"Failed to connect to: 107.21.230.121:27017: Timed out after 0 ms."

我已签上的MongoDB正在运行的服务器。使用Mongo shell,我也能够创建一些集合和文档。

已经尝试过各种策略没有成功。有人可以建议我在哪里设置错了?

+0

是允许连接到该数据库的主机?防火墙设置? – 2013-03-01 17:53:51

+0

我没有使用任何防火墙。也没有限制任何IP连接。 – 2013-03-01 17:55:25

+0

afair MongoDB默认绑定到本地主机 – mensi 2013-03-01 17:55:56

回答

2

从您的实例的快速而脏的nmap扫描来判断,它看起来好像还没有打开安全组中的端口(27017)。这将需要在端口服务器上完成。

+0

我已经尝试了一切打开端口。这是所有我曾尝试: 1.服务站的mongod 2.六/etc/mongod.conf(加我的第二个服务器的ip bind_ip) 3.服务启动mongod的 4. iptables的INPUT -s - p tcp -m tcp --dport 27017 -j ACCEPT 仍然没有运行。我不是MongoDB的老朋友。只是从MySQL过渡到MongoDB,它是伤害了很多:( – 2013-03-05 15:59:34

+0

在AWS上的安全组中,你需要打开端口27107,这不是在实例本身,它在ec2控制台。http:// docs .aws.amazon.com/AWSEC2 /最新/ UserGuide /使用网络,security.html安全 – 2013-11-18 04:41:16

相关问题