0

我已经尝试了各种解决方案,包括下面的这个,但仍然遇到同样的错误。欣赏任何线索。

在 Rails 3.2 中使用 Mongoid 时删除 database.yml

root@cumulonimbus:/srv/www/myapp/current/log# cat unicorn.stderr.log 
I, [2014-02-15T13:59:29.053668 #19768]  INFO -- : Refreshing Gem list
[deprecated] I18n.enforce_available_locales will default to true in the future. If you really want to skip validation of your locale you can set I18n.enforce_available_locales = false to avoid this message.
I, [2014-02-15T14:00:11.666899 #19768]  INFO -- : listening on addr=/srv/www/myapp/shared/sockets/unicorn.sock fd=14
E, [2014-02-15T14:00:11.667401 #19768] ERROR -- : ActiveRecord::ConnectionNotEstablished (ActiveRecord::ConnectionNotEstablished)
/home/deploy/.bundler/myapp/ruby/1.9.1/gems/activerecord-3.2.11/lib/active_record/connection_adapters/abstract/connection_pool.rb:410:in `retrieve_connection'
/home/deploy/.bundler/myapp/ruby/1.9.1/gems/activerecord-3.2.11/lib/active_record/connection_adapters/abstract/connection_specification.rb:171:in `retrieve_connection'
/home/deploy/.bundler/myapp/ruby/1.9.1/gems/activerecord-3.2.11/lib/active_record/connection_adapters/abstract/connection_specification.rb:145:in `connection'
/srv/www/myapp/shared/config/unicorn.conf:31:in `block in reload'
/home/deploy/.bundler/myapp/ruby/1.9.1/gems/unicorn-4.8.2/lib/unicorn/http_server.rb:515:in `call'
/home/deploy/.bundler/myapp/ruby/1.9.1/gems/unicorn-4.8.2/lib/unicorn/http_server.rb:515:in `spawn_missing_workers'
/home/deploy/.bundler/myapp/ruby/1.9.1/gems/unicorn-4.8.2/lib/unicorn/http_server.rb:140:in `start'
/home/deploy/.bundler/myapp/ruby/1.9.1/gems/unicorn-4.8.2/bin/unicorn_rails:209:in `<top (required)>'
/home/deploy/.bundler/myapp/ruby/1.9.1/bin/unicorn_rails:23:in `load'
/home/deploy/.bundler/myapp/ruby/1.9.1/bin/unicorn_rails:23:in `<main>'

root@cumulonimbus:/srv/www/myapp/current# grep -r active_record config/
config/environments/test.rb:  # config.active_record.schema_format = :sql
config/initializers/session_store.rb:# MyApp::Application.config.session_store :active_record_store
config/initializers/devise.rb:  # Load and configure the ORM. Supports :active_record (default) and
config/application.rb:# require "active_record/railtie"
config/application.rb:    # config.active_record.observers = :cacher, :garbage_collector, :forum_observer

root@cumulonimbus:/srv/www/myapp/current# bundle show|grep -E 'unicorn|rails'

• 导轨 (3.2.11)

• 独角兽 (4.8.2)

root@cumulonimbus:/srv/www/myapp/current# gem -v

2.1.11

root@cumulonimbus:/srv/www/myapp/current# ruby -v

ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]
4

1 回答 1

0

问题排序。显然,股票 OpsWorks 独角兽食谱引用了 ActiveRecord。因此,通过注释/删除 before_fork..end 和 after_fork..end 的整个块帮助我们部署了使用 mongoid 的应用程序。

https://github.com/aws/opsworks-cookbooks/blob/master-chef-11.4/unicorn/templates/default/unicorn.conf.erb

我们需要利用 sock 文件而不是 NginX 中的端口方法,这对我们的应用程序非常有益。

另外两个任务是覆盖来自股票独角兽的默认键值和使用共享/脚本/独角兽脚本作为部署用户自动启动。

于 2014-02-18T15:06:35.190 回答