首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongoid生产问题:连接主节点失败

Mongoid生产问题:连接主节点失败
EN

Stack Overflow用户
提问于 2011-09-21 02:34:16
回答 1查看 1.9K关注 0票数 1

由于某些原因,我已经从Mongo_Mapper切换到了Mongoid,并且在部署到生产环境时遇到了问题。我使用的是NGINX、Rails 3.1和Passenger。我一直收到这样的消息,“无法在myusernamehere:27017 (Mongo::ConnectionFailure)连接到主节点”。

代码语言:javascript
复制
  defaults: &defaults
  host: localhost
  # slaves:
  #   - host: slave1.local
  #     port: 27018
  #   - host: slave2.local
  #     port: 27019

  development:
    <<: *defaults
    database: s3uploadergen_development

  test:
    <<: *defaults
    database: s3uploadergen_test

  production:
    host: localhost
    port: 27017
    database: mydbnamehere
    username: myuserhere
    password: mypasswordhere

我已经对所有设置进行了三次检查,并尝试了ENV方法(将ENV变量添加到production.rb并通过文档记录的mongoid方法调用它们,但也遇到了同样的问题):

代码语言:javascript
复制
production:
  host: <%= ENV['MONGOID_HOST'] %>
  port: <%= ENV['MONGOID_PORT'] %>
  username: <%= ENV['MONGOID_USERNAME'] %>
  password: <%= ENV['MONGOID_PASSWORD'] %>
  database: <%= ENV['MONGOID_DATABASE'] %>

理想情况下,我只想在production.rb或某种初始化器中指定它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-21 03:04:27

我假设您所说的“文档mongoid方法”是指设置推荐的"uri“参数,而不是所有这些不同的设置。你可能想尝试一下,因为这是推荐的方法。

代码语言:javascript
复制
defaults: &defaults
  persist_in_safe_mode: true

development:
  <<: *defaults
  host: localhost
  database: app_development

test:
  <<: *defaults
  host: localhost
  database: app_test

production:
  <<: *defaults
  uri: <%= ENV['MONGOHQ_URL'] %>

请注意,我确实使用了Heroku,但我没有使用MongoHQ插件。我只是直接使用它,所以我手动设置了我的MONGOHQ_URL。您的uri如下所示:

代码语言:javascript
复制
mongodb://<user>:<password>@<the.db.host.com>:<port>/<database_name>

在我看来,基于这个错误,你不能连接到"localhost“(比如你可能需要完整的主机名或IP或其他什么?)。你的应用程序日志里有什么吗?

只需确保不在任何ENV上设置"host“和"uri”,因为"host“将覆盖从uri派生的设置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7490004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档