0

私はレールが初めてです。簡単な Rails アプリケーションを cloudfoundry にプッシュしたいのですが、エラーが発生します:

 ====> /logs/stderr.log <====
/var/vcap/data/dea/apps/mytestapp-0
-4a068e3fd2b22422bdd29f3762e9bc9b/app/rubygems/ruby/1.9.1/gems/mongo-
1.6.4/lib/mongo/connection.rb:420:in `connect': Fail:27017  (Mongo::ConnectionFailure)

サンプルアプリの gemfile:

source 'http://rubygems.org'
gem 'rails', '3.0.5'
gem 'mongo_mapper'
gem 'bson_ext'

モンゴ.yml:

defaults: &defaults
host: 127.0.0.1
port: 27017

development:
<<: *defaults 
database: cloud_foundry_rails_tutorial_development

test:
<<: *defaults
database: cloud_foundry_rails_tutorial_test

# set these environment variables on your prod server
production: 
host: <%= JSON.parse( ENV['VCAP_SERVICES'] )['mongodb-2.0'].first['credentials']['hostname']  
rescue 'localhost' %>

port: <%= JSON.parse( ENV['VCAP_SERVICES'] )['mongodb-2.0'].first['credentials']['port']    
rescue '27017' %>

database: <%= JSON.parse( ENV['VCAP_SERVICES'] )['mongodb-2.0'].first['credentials']['db'] 
rescue 'cloud_foundry_rails_tutorial' %>

username: <%= JSON.parse( ENV['VCAP_SERVICES'] )['mongodb-2.0'].first['credentials']['username'] 
rescue '' %>

password: <%= JSON.parse( ENV['VCAP_SERVICES'] )['mongodb-2.0'].first['credentials']['password'] 
rescue '' %>

先週は問題なく CF にプッシュできましたが、今は機能しませんか? CF側で変わったことはありますか?ありがとう

4

1 に答える 1

1

CloudFoundry.com は先週、MongoDB 1.8 から 2.0 にアップグレードしましたが、これがアプリに影響を与えている可能性があります。CF.com のエンジニアリング チームに確認し、必要に応じてバグを報告します。

ただし、 で接続情報を手動で指定しているためmongo.yml、サービスの自動構成を無効にしていますか? そのためには、ファイルを作成してconfig/cloudfoundry.yml以下を追加します。

autoconfig: false

Ruby アプリでのサービスの自動構成の詳細については、http://blog.cloudfoundry.com/2012/03/12/using-cloud-foundry-services-with-ruby-part-1-auto-reconfiguration/を参照してください。

于 2012-08-21T19:20:15.563 に答える