连接到网络时Mongodb使用我的NIC地址?

时间:2012-11-19 21:54:29

标签: mongodb grails

我有一个Grails应用程序,我正在连接到MongoDB实例。在我的Datasource.groovy中,我声明了以下内容:

grails {
    mongo {
        host = "localhost"
        port = 27017
        databaseName = "mmib-mongo"
    }
}

Mongo已安装并正常启动。

问题在于,当我连接到网络时,使用grails run-app会记录以下异常:

包装Grails应用..... |运行Grails应用程序

配置Spring Security Core ... ...完成配置Spring Security Core

配置Spring Security LDAP ... ...完成配置Spring Security LDAP |错误2012-11-19 15:42:16,428 [localhost-startStop-1]错误context.GrailsContextLoader - 执行bootstraps时出错:创建名为'mongoDatastore'的bean时出错:FactoryBean在创建对象时抛出异常;嵌套异常是org.springframework.dao.DataAccessResourceFailureException:无法调用的东西:MBP-C02J91TWDKQ5.local / 192.168.0.131:27017 / mmib-mongo;嵌套异常是com.mongodb.MongoException $ Network:无法调用的东西:MBP-C02J91TWDKQ5.local / 192.168.0.131:27017 / mmib-mongo 消息:创建名为'mongoDatastore'的bean时出错:FactoryBean在创建对象时抛出异常;嵌套异常是org.springframework.dao.DataAccessResourceFailureException:无法调用的东西:MBP-C02J91TWDKQ5.local * / 192.168.0.131:27017 / mmib-mongo *;嵌套异常是com.mongodb.MongoException $ Network:无法调用的东西:MBP-C02J91TWDKQ5.local / 192.168.0.131:27017 / mmib-mongo

任何线索为什么当我连接到网络时,Grails / Mongo想要使用该IP地址而不是localhost,我在/ etc / hosts中验证了它是127.0.0.1

1 个答案:

答案 0 :(得分:0)

Homebrew告诉MongoDB仅侦听127.0.0.1,而不是你的公共接口或“.local”主机名:

https://github.com/mxcl/homebrew/blob/master/Library/Formula/mongodb.rb#L95

尝试从mongod.conf的本地副本中删除bind_ip行,只需使用防火墙保护端口27017,或者更改mongod.conf中的“bind_ip”条目。