【发布时间】:2012-07-09 02:30:42
【问题描述】:
我一直在尝试在 Ubuntu 上将 Mongoid 与 Rails 一起使用。 Mongodb 在 Rails 应用程序 3.0 到 3.2 上运行良好,
今天突然,我收到错误“/home/pravinmishra/.rvm/gems/ruby-1.9.2-p318/gems/mongo-1.5.2/lib/mongo/connection.rb:413:in `connect ': 无法连接到 localhost:27017 (Mongo::ConnectionFailure) 的主节点"
我经常遇到这个问题,下面的命令对我有用。
sudo rm /var/lib/mongodb/mongod.lock
sudo -u mongodb mongod -f /etc/mongodb.conf --repair
sudo start mongodb
sudo status mongodb
但是今天我运气不好。
前几天我更改了我的 etc/hosts 文件并添加了 27.0.0.1 localhost.me
127.0.0.1 localhost.me:3000 localhost ubuntu
127.0.0.1 localhost
127.0.1.1 ubuntu
127.0.0.1 localhost.me locahost ubuntu
我想,这会造成问题。过来,我将 mongoid.config 文件 localhost 更改为 localhost.me,但仍然出现错误“/home/pravinmishra/.rvm/gems/ruby-1.9.2-p318/gems/mongo-1.5.2/lib/mongo/connection.rb:413:in `connect':无法连接到 localhost.me:27017 (Mongo::ConnectionFailure) 的主节点”
mongoid.yml 文件
defaults: &defaults
host: localhost
allow_dynamic_fields: false
development:
<<: *defaults
database: xxx_development
test:
<<: *defaults
database: xxx_test
# set these environment variables on your prod server
production:
# host: <%= ENV['MONGOID_HOST'] %>
# port: <%= ENV['MONGOID_PORT'] %>
# username: <%= ENV['MONGOID_USERNAME'] %>
# password: <%= ENV['MONGOID_PASSWORD'] %>
# database: <%= ENV['MONGOID_DATABASE'] %>
# set these environment variables on your prod server
production:
uri: <%= ENV['MONGOHQ_URL'] %>
任何建议将不胜感激,在此先感谢..!!
【问题讨论】:
-
请在您定义数据库连接配置的地方发布您的 mongoid.yml 配置文件
-
defaults: &defaults host: localhost allow_dynamic_fields: false development: # 端口: # 用户名: # 密码: # database: # 在你的 prod 服务器生产环境中设置这些环境变量: uri:
-
@abhash,快速回复。我编辑了问题并添加了 mongoid.yml 文件。一次看看..!
-
在 ubuntu 中,如果你输入“mongo”,它会连接到 mongo 的控制台外壳吗?
-
@ Jesse ,得到同样的错误。 MongoDB shell 版本:2.0.1 连接到:测试 Mon Jul 9 22:47:06 错误:无法连接到服务器 127.0.0.1 shell/mongo.js:84 异常:连接失败
标签: ruby-on-rails mongoid