2
我已經在ec2實例上部署了我的rails應用程序,使用的數據庫是Mongo並託管在單獨的實例上。 mongoid.yml中的數據庫和主機已相應更改,並指向數據庫服務器。該應用程序正在生產模式下運行,工作正常。當我在生產模式下訪問導軌控制檯時,從rails控制檯連接到不同服務器上的mongodb
$rails c RAILS_ENV=production
並嘗試訪問模型User.last。它給錯誤
Loading RAILS_ENV=production environment (Rails 3.2.11)
1.9.3p327 :001 > User.last
Mongoid::Errors::NoSessionsConfig:
Problem:
No sessions configuration provided.
Summary:
Mongoid's configuration requires that you provide details about each session that can be connected to, and requires in the sessions config at least 1 default session to exist.
Resolution:
Double check your mongoid.yml to make sure that you have a top-level sessions key with at least 1 default session configuration for it. You can regenerate a new mongoid.yml for assistance via `rails g mongoid:config`.
Example:
development:
sessions:
default:
database: mongoid_dev
hosts:
- localhost:27017
from /home/ubuntu/.rvm/gems/ruby-1.9.3-p327/gems/mongoid-3.0.14/lib/mongoid/sessions/factory.rb:61:in `create_session'
from /home/ubuntu/.rvm/gems/ruby-1.9.3-p327/gems/mongoid-3.0.14/lib/mongoid/sessions/factory.rb:43:in `default'
from /home/ubuntu/.rvm/gems/ruby-1.9.3-p327/gems/mongoid-3.0.14/lib/mongoid/sessions.rb:109:in `default'
from /home/ubuntu/.rvm/gems/ruby-1.9.3-p327/gems/mongoid-3.0.14/lib/mongoid/sessions.rb:378:in `__session__'
from /home/ubuntu/.rvm/gems/ruby-1.9.3-p327/gems/mongoid-3.0.14/lib/mongoid/sessions.rb:213:in `mongo_session'
from /home/ubuntu/.rvm/gems/ruby-1.9.3-p327/gems/mongoid-3.0.14/lib/mongoid/sessions.rb:157:in `collection'
from /home/ubuntu/.rvm/gems/ruby-1.9.3-p327/gems/mongoid-3.0.14/lib/mongoid/contextual/mongo.rb:216:in `initialize'
from /home/ubuntu/.rvm/gems/ruby-1.9.3-p327/gems/mongoid-3.0.14/lib/mongoid/contextual.rb:47:in `new'
from /home/ubuntu/.rvm/gems/ruby-1.9.3-p327/gems/mongoid-3.0.14/lib/mongoid/contextual.rb:47:in `create_context'
from /home/ubuntu/.rvm/gems/ruby-1.9.3-p327/gems/mongoid-3.0.14/lib/mongoid/contextual.rb:30:in `context'
from /home/ubuntu/.rvm/gems/ruby-1.9.3-p327/gems/mongoid-3.0.14/lib/mongoid/contextual.rb:18:in `last'
from /home/ubuntu/.rvm/gems/ruby-1.9.3-p327/gems/mongoid-3.0.14/lib/mongoid/finders.rb:129:in `last'
from (irb):1
from /home/ubuntu/.rvm/gems/ruby-1.9.3-p327/gems/railties-3.2.11/lib/rails/commands/console.rb:47:in `start'
Mongoid.yml
默認:&默認 主機:本地主機
development:
# Configure available database sessions. (required)
sessions:
# Defines the default session. (required)
default:
# Defines the name of the default database that Mongoid can connect to.
# (required).
database: app_db
# Provides the hosts the default session can connect to. Must be an array
# of host:port pairs. (required)
hosts:
- localhost:27017
options:
options:
test:
sessions:
default:
database: app_db
hosts:
- localhost:27017
options:
consistency: :strong
# In the test environment we lower the retries and retry interval to
# low amounts for fast failures.
max_retries: 1
retry_interval: 0
production:
# Configure available database sessions. (required)
sessions:
# Defines the default session. (required)
default:
# Defines the name of the default database that Mongoid can connect to.
# (required).
database: app_db
# Provides the hosts the default session can connect to. Must be an array
# of host:port pairs. (required)
hosts:
- ec2-**-***-***-*.ap-southeast-1.compute.amazonaws.com:27017
options:
options:
的環境中軌c的製備 – Rubyman
您可以發佈您mongoid.yml?我猜可能有某種錯誤配置.. –
@JuLiu PLZ檢查更新 – Bijendra