Ruby on rails 独角兽,罐头';t重新启动:";rack and rack::Builder必须可用于处理config.ru“;

Ruby on rails 独角兽,罐头';t重新启动:";rack and rack::Builder必须可用于处理config.ru“;,ruby-on-rails,ubuntu,capistrano,unicorn,digital-ocean,Ruby On Rails,Ubuntu,Capistrano,Unicorn,Digital Ocean,我有一个带有nginx和unicorn的Ubuntu 14.04服务器。我已经将一个带有capistrano的Rails应用程序部署到/home/Rails/myapp 当尝试使用sudo service unicorn restart重新启动unicorn时,我得到以下信息: * Restarting Unicorn web server unicorn rack not available, functionality reduced rack and Rack::Builder must

我有一个带有nginx和unicorn的Ubuntu 14.04服务器。我已经将一个带有capistrano的Rails应用程序部署到
/home/Rails/myapp

当尝试使用
sudo service unicorn restart
重新启动unicorn时,我得到以下信息:

* Restarting Unicorn web server unicorn
rack not available, functionality reduced
rack and Rack::Builder must be available for processing config.ru
当我尝试在浏览器中访问该站点时,我从nginx获得502

这是我的/etc/default/unicorn文件:

# Change paramentres below to appropriate values and set CONFIGURED to yes.
CONFIGURED=yes

# Default timeout until child process is killed during server upgrade,
# it has *no* relation to option "timeout" in server's config.rb.
TIMEOUT=60

# Path to your web application, sh'ld be also set in server's config.rb,
# option "working_directory". Rack's config.ru is located here.
APP_ROOT=/home/rails/myapp/current

# Server's config.rb, it's not a rack's config.ru
CONFIG_RB=/etc/unicorn.conf

# Where to store PID, sh'ld be also set in server's config.rb, option "pid".
PID=/home/rails/myapp/current/pids/unicorn.pid
RAILS_ENV="production"
UNICORN_OPTS="-D -c $CONFIG_RB -E $RAILS_ENV"

PATH=/usr/local/rvm/rubies/ruby-2.3.0/bin:/usr/local/sbin:/usr/bin:/bin:/sbin:/usr/local/rvm/bin:/usr/local/rvm/gems/ruby-2.3.0@global/bin:/usr/local/rvm/gems/ruby-2.3.0/bin/
export GEM_HOME=/usr/local/rvm/gems/ruby-2.3.0
export GEM_PATH=/usr/local/rvm/gems/ruby-2.3.0:/usr/local/rvm/gems/ruby-2.3.0@global
DAEMON=/usr/local/rvm/gems/ruby-2.3.0/wrappers/unicorn
这是我的/etc/unicorn.conf文件:

listen "unix:/var/run/unicorn.sock"
worker_processes 4
user "rails"
working_directory "/home/rails/myapp/current"
pid "/var/run/unicorn.pid"
stderr_path "/var/log/unicorn/unicorn.log"
stdout_path "/var/log/unicorn/unicorn.log"

有什么想法吗?我觉得我什么都试过了。

在启动unicorn之前,试着运行以下命令:

gem install rack

如果您的RUBY版本是
gem install rubygems-update
update_rubygems