【问题标题】:Mongo::ConnectionFailure when deploying Rails App to EC2 during create_staging在 create_staging 期间将 Rails 应用程序部署到 EC2 时的 Mongo::ConnectionFailure
【发布时间】:2013-03-06 07:57:09
【问题描述】:

我正在尝试使用 Rubber 将我的第一个应用程序部署到亚马逊 ec2。我已经尝试了好几次,每次都会出现 Mongo::Connection Failure 的过程错误。我已经尝试了来自多个层的几种不同的实例类型,但仍然遇到相同的错误。只是不知道如何进行。

这是错误日志:

 ** [out :: production.foo.com] /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mongo-1.3.1/lib/mongo/connection.rb:518:in `connect'
 ** [out :: production.foo.com] :
 ** [out :: production.foo.com] Failed to connect to a master node at production.foo.com:27017
 ** [out :: production.foo.com] (
 ** [out :: production.foo.com] Mongo::ConnectionFailure
 ** [out :: production.foo.com] )
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mongo-1.3.1/lib/mongo/connection.rb:656:in `setup'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mongo-1.3.1/lib/mongo/connection.rb:101:in `initialize'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mongo-1.3.1/lib/mongo/connection.rb:152:in `new'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mongo-1.3.1/lib/mongo/connection.rb:152:in `from_uri'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mongoid-2.4.5/lib/mongoid/config/database.rb:89:in `master'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mongoid-2.4.5/lib/mongoid/config/database.rb:22:in `configure'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mongoid-2.4.5/lib/mongoid/config.rb:273:in `configure_databases'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mongoid-2.4.5/lib/mongoid/config.rb:94:in `from_hash'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mongoid-2.4.5/lib/mongoid/config.rb:109:in `block in load!'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mongoid-2.4.5/lib/mongoid/config.rb:108:in `tap'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mongoid-2.4.5/lib/mongoid/config.rb:108:in `load!'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mongoid-2.4.5/lib/mongoid.rb:147:in `load!'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/mongoid-2.4.5/lib/mongoid/railtie.rb:84:in `block in <class:Railtie>'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:30:in `instance_exec'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:30:in `run'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:55:in `block in run_initializers'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:54:in `each'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/initializable.rb:54:in `run_initializers'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/application.rb:96:in `initialize!'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/railtie/configurable.rb:30:in `method_missing'
 ** [out :: production.foo.com] from /usr/local/graylog2-web-interface-0.9.6p1/config/environment.rb:6:in `<top (required)>'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `block in require'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `block in load_dependency'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in `new_constants_in'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `load_dependency'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/application.rb:83:in `require_environment!'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/commands/runner.rb:40:in `<top (required)>'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/commands.rb:63:in `require'
 ** [out :: production.foo.com] from /usr/local/rubies/1.9.3-p392/lib/ruby/gems/1.9.1/gems/railties-3.1.3/lib/rails/commands.rb:63:in `<top (required)>'
 ** [out :: production.foo.com] from ./script/rails:6:in `require'
 ** [out :: production.foo.com] from ./script/rails:6:in `<main>'
    command finished in 66584ms
failed: "/bin/bash -l -c 'sudo -p '\\''sudo password: '\\''  bash -l /tmp/bootstrap_graylog_web'" on production.foo.com

【问题讨论】:

  • 我对橡胶不熟悉;但是是否有应该运行的 mongodb 服务器进程? “production.foo.com”看起来像一个虚假的服务器名称。
  • 'production.foo.com' 基本上是一个错误的服务器名称。这就是我如何设置我的本地主机来查看我的网页。实际上,它不是其他人可以连接的网址,但我可以在本地机器上使用它来查看我部署的应用程序.. 比输入我的 ec2 实例 ip 更容易。我也是Rubber的新手。但似乎在引导步骤的某个阶段需要mongodb来在ec2上自动获取我的应用程序上的配置部分。我没有使用 mongodb 作为我的数据库,但无论出于何种原因,橡胶都使用它来引导我的应用程序到 ec2。
  • 它显然是在尝试连接到名为 production.foo.com 的主机上的 mongodb 实例。显然橡胶依赖于mongodb?您可以尝试临时配置为使用“localhost”。
  • 是的,橡胶似乎对 mongodb 有依赖。我对如何配置橡胶使用 localhost 有点茫然,因为我只是使用橡胶当前生成的默认设置。我会调查一下 - 感谢您的帮助。

标签: ruby-on-rails mongodb amazon-ec2 rubber


【解决方案1】:

我遇到了完全相同的问题,老实说,我只是再次运行 'cap Rubber:bootstrap' 并且出于某种原因,解决了它...

【讨论】:

    猜你喜欢
    • 2011-06-28
    • 1970-01-01
    • 1970-01-01
    • 2013-01-17
    • 2013-09-29
    • 1970-01-01
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多