加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails,Capistrano,Nginx,Unicorn – 应用程序

发布时间:2020-12-17 03:38:50 所属栏目:百科 来源:网络整理
导读:任何人都可以了解这个错误究竟是指什么? 我在部署新版本的网站时遇到了麻烦. I,INFO -- : reloading config_file=[snip]/current/config/unicorn.rbI,INFO -- : Refreshing Gem listE,ERROR -- : error reloading config_file=[snip]/current/config/unicor
任何人都可以了解这个错误究竟是指什么?

我在部署新版本的网站时遇到了麻烦.

I,INFO -- : reloading config_file=[snip]/current/config/unicorn.rb
I,INFO -- : Refreshing Gem list
E,ERROR -- : error reloading config_file=[snip]/current/config/unicorn.rb: Application has been already initialized. (RuntimeError)
E,ERROR -- : [snip]/shared/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/application.rb:135:in `initialize!'
E,ERROR -- : [snip]/shared/bundle/ruby/1.9.1/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in `method_missing'
E,ERROR -- : [snip]/releases/20120907085937/config/environment.rb:5:in `<top (required)>'
E,ERROR -- : [snip]/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `require'
E,ERROR -- : [snip]/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:251:in `block in require'
E,ERROR -- : [snip]/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/dependencies.rb:236:in `load_dependency'
E,ERROR -- : config.ru:4:in `block in <main>'
E,ERROR -- : [snip]/shared/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval'
E,ERROR -- : [snip]/shared/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize'
E,ERROR -- : config.ru:1:in `new'
E,ERROR -- : config.ru:1:in `<main>'
E,ERROR -- : [snip]/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn.rb:44:in `eval'
E,ERROR -- : [snip]/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn.rb:44:in `block in builder'
E,ERROR -- : [snip]/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/http_server.rb:696:in `call'
E,ERROR -- : [snip]/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/http_server.rb:696:in `build_app!'
E,ERROR -- : [snip]/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/http_server.rb:677:in `load_config!'
E,ERROR -- : [snip]/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/http_server.rb:303:in `join'
E,ERROR -- : [snip]/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/bin/unicorn:121:in `<top (required)>'
E,ERROR -- : [snip]/shared/bundle/ruby/1.9.1/bin/unicorn:23:in `load'
E,ERROR -- : [snip]/shared/bundle/ruby/1.9.1/bin/unicorn:23:in `<main>'
I,INFO -- : reaped #<Process::Status: pid 3182 exit 0> worker=0
I,INFO -- : reaped #<Process::Status: pid 3185 exit 0> worker=1
I,INFO -- : reaped #<Process::Status: pid 3188 exit 0> worker=2
I,INFO -- : reaped #<Process::Status: pid 3191 exit 0> worker=3
I,INFO -- : worker=0 ready
I,INFO -- : worker=3 ready
I,INFO -- : worker=1 ready
I,INFO -- : worker=2 ready

Unicorn.rb

root = "/home/[user]/apps/[site]/current"
working_directory root
pid "#{root}/tmp/pids/unicorn.pid"
stderr_path "#{root}/log/unicorn.log"
stdout_path "#{root}/log/unicorn.log"

listen "/tmp/unicorn.[site].sock",:backlog => 2048

worker_processes 4

preload_app true

timeout 30

before_fork do |server,worker|
    defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect!
end

after_fork do |server,worker|
    defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection
end

任何帮助表示赞赏 – 如果需要,我可以提取更多配置文件.

解决方法

终于到了底.重新读取 Ryan Bates’ Railscasts episode on zero downtime deployment之后,我注意到我发出的是带有HUP而不是USR2的unicorn restart / reload命令.在改变这一点,并从ginettev的答案中重新启用代码(我之前已经禁用该代码以尝试理解该问题,我现在可以按照我的意愿进行部署.

这个更改就像更改我的unicorn_init.sh文件一样简单:

restart|reload)
sig HUP && echo reloaded OK && exit 0
echo >&2 "Couldn't reload,starting '$CMD' instead"
run "$CMD"
;;

restart|reload)
sig USR2 && echo reloaded OK && exit 0
echo >&2 "Couldn't reload,starting '$CMD' instead"
run "$CMD"
;;

希望这有助于其他人!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读