Ich stelle meine Anwendung auf einem Ubuntu VPS. Ich folgte dem Railscast "Deploy to VPS".Initializer oder Gem nicht mit Unicorn geladen verursacht 500 internen Server Fehler
Alles lief glatt, bis ich das folgende Juwel hinzugefügt: https://github.com/marceldegraaf/sisow
Auf meiner lokalen Entwicklung Maschine es funktioniert wie ein Charme, aber nachdem ich es auf meine Produktionsumgebung bereitgestellt wird die Rails-Anwendung nicht mehr starten (500 Interner Serverfehler).
Ich habe eine Reihe von "Tweaks" zu meiner Einhorn-Konfiguration, deploy.rb und eine Reihe anderer Dateien versucht, aber nichts scheint zu funktionieren.
Das Seltsame ist, dass, wenn ich benutze:
RAILS_ENV=production bundle exec rails c
ich den Edelstein ohne Probleme verwenden können
unicorn.log
E, [2012-05-25T16:38:14.742805 #27916] ERROR -- : reaped #<Process::Status: pid 5777 exit 1> worker=1
I, [2012-05-25T16:38:14.742998 #27916] INFO -- : worker=1 spawning...
I, [2012-05-25T16:38:14.746132 #5803] INFO -- : worker=1 spawned pid=5803
I, [2012-05-25T16:38:14.746557 #5803] INFO -- : Refreshing Gem list
/home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:in `require': cannot load such file -- sisow (LoadError)
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:in `block in require'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:236:in `load_dependency'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:251:in `require'
from /home/deployer/apps/my_app/releases/20120525140057/config/initializers/sisow.rb:1:in `<top (required)>'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:245:in `load'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:245:in `block in load'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:236:in `load_dependency'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/activesupport-3.2.0/lib/active_support/dependencies.rb:245:in `load'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/engine.rb:588:in `block (2 levels) in <class:Engine>'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/engine.rb:587:in `each'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/engine.rb:587:in `block in <class:Engine>'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/initializable.rb:30:in `instance_exec'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/initializable.rb:30:in `run'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/initializable.rb:55:in `block in run_initializers'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/initializable.rb:54:in `each'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/initializable.rb:54:in `run_initializers'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/application.rb:136:in `initialize!'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/railties-3.2.0/lib/rails/railtie/configurable.rb:30:in `method_missing'
from /home/deployer/apps/my_app/releases/20120525140057/config/environment.rb:5:in `<top (required)>'
from config.ru:4:in `require'
from config.ru:4:in `block in <main>'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `instance_eval'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/rack-1.4.1/lib/rack/builder.rb:51:in `initialize'
from config.ru:1:in `new'
from config.ru:1:in `<main>'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn.rb:44:in `eval'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn.rb:44:in `block in builder'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/http_server.rb:696:in `call'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/http_server.rb:696:in `build_app!'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/http_server.rb:569:in `init_worker_process'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/http_server.rb:589:in `worker_loop'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/http_server.rb:487:in `spawn_missing_workers'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/http_server.rb:498:in `maintain_worker_count'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/lib/unicorn/http_server.rb:272:in `join'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/gems/unicorn-4.3.1/bin/unicorn:121:in `<top (required)>'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/bin/unicorn:23:in `load'
from /home/deployer/apps/my_app/shared/bundle/ruby/1.9.1/bin/unicorn:23:in `<main>'
E, [201
Einhorn (?). rb
unicorn_init.sh
#!/bin/sh
set -e
# Feel free to change any of the following variables for your app:
TIMEOUT=${TIMEOUT-60}
APP_ROOT=/home/deployer/apps/my_app/current
PID=$APP_ROOT/tmp/pids/unicorn.pid
CMD="cd $APP_ROOT; bundle exec unicorn -D -c $APP_ROOT/config/unicorn.rb -E production"
AS_USER=deployer
set -u
OLD_PIN="$PID.oldbin"
sig() {
test -s "$PID" && kill -$1 `cat $PID`
}
oldsig() {
test -s $OLD_PIN && kill -$1 `cat $OLD_PIN`
}
run() {
if [ "$(id -un)" = "$AS_USER" ]; then
eval $1
else
su -c "$1" - $AS_USER
fi
}
case "$1" in
start)
sig 0 && echo >&2 "Already running" && exit 0
run "$CMD"
;;
stop)
sig QUIT && exit 0
echo >&2 "Not running"
;;
force-stop)
sig TERM && exit 0
echo >&2 "Not running"
;;
restart|reload)
sig HUP && echo reloaded OK && exit 0
echo >&2 "Couldn't reload, starting '$CMD' instead"
run "$CMD"
;;
upgrade)
if sig USR2 && sleep 2 && sig 0 && oldsig QUIT
then
n=$TIMEOUT
while test -s $OLD_PIN && test $n -ge 0
do
printf '.' && sleep 1 && n=$(($n - 1))
done
echo
if test $n -lt 0 && test -s $OLD_PIN
then
echo >&2 "$OLD_PIN still exists after $TIMEOUT seconds"
exit 1
fi
exit 0
fi
echo >&2 "Couldn't upgrade, starting '$CMD' instead"
run "$CMD"
;;
reopen-logs)
sig USR1
;;
*)
echo >&2 "Usage: $0 <start|stop|restart|upgrade|force-stop|reopen-logs>"
exit 1
;;
esac
Gemfile
source 'http://rubygems.org'
gem 'rails', '3.2.0'
gem "net-ssh", "~> 2.5.1"
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'pg'
gem "cocoon"
gem 'nokogiri'
gem 'hpricot'
gem "formtastic", "~> 2.1.1"
gem "activeadmin", "~> 0.4.4"
gem 'omniauth'
gem 'country-select'
gem "paperclip", "~> 3.0"
gem 'cancan'
gem 'rolify'
gem "meta_search", '>= 1.1.0.pre'
gem 'bourbon', "~> 2.0.0.rc1"
gem "rails-boilerplate"
gem 'geocoder'
gem 'httparty'
gem 'hashie'
gem 'will_paginate', :git => "git://github.com/mislav/will_paginate.git"
gem 'thinking-sphinx', '2.0.10'
gem 'sanitize'
gem 'feedzirra'
gem "crypt19", "~> 1.2.1"
gem 'wicked_pdf'
gem 'forem', :git => "git://github.com/radar/forem.git"
gem 'thin'
gem 'whenever', :require => false
gem "ckeditor", "3.7.1"
gem 'sisow'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end
gem 'haml-rails'
gem 'jquery-rails'
group :development do
gem 'ruby_parser'
end
# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'
# Use unicorn as the web server
gem 'unicorn'
# Deploy with Capistrano
gem 'capistrano'
# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'
Was sagt Gem Liste? Vielleicht müssen Sie nur die Bundle-Installation auf Ihrem Server ausführen. – sailor
Das Juwel ist in der "Gem-Liste" –