ルビー(1.9.3-rc1)、レール、カピストラーノ、nginx、およびユニコーンを使用して、2日間からvps(Ubuntu 12.04サーバー(64ビット))に展開しようとしています。
また、Ryan Bates の railscast チュートリアルに従って、VPS にゼロからデプロイする方法を示します。
実際には、 cap deploy:cold コマンドは (他のすべてのコマンドと同様に) 正常に機能しているようですが、自分の URL にアクセスしようとすると、「申し訳ありませんが、何かがうまくいきませんでした」というメッセージが表示されます => Rails のデフォルトのエラー ページ。
私の生産ログでは、次のようになります:
Migrating to CreateQuestionAnswers (20130317152603)
Migrating to CreateRegions (20130502212531)
Migrating to AddRegionIdToSection (20130502212557)
Migrating to CreateAnnonceImages (20130510130906)
Migrating to AddAttachmentImageToAnnonceImages (20130510130925)
Migrating to CreateFormations (20130510195503)
Migrating to CreateInscriptions (20130510195627)
Migrating to AddAttachmentImageToFormations (20130511182928)
Migrating to AddParamsToInscription (20130514231201)
Migrating to AddPaypalidToInscription (20130514234243)
(0.3ms) SELECT "schema_migrations"."version" FROM "schema_migrations"
Connecting to database specified by database.yml
Connecting to database specified by database.yml
Creating scope :all. Overwriting existing method User.all.
Creating scope :all. Overwriting existing method User.all.
Creating scope :all. Overwriting existing method Echange.all.
Creating scope :all. Overwriting existing method Echange.all.
Creating scope :validate. Overwriting existing method Annonce.validate.
Creating scope :validate. Overwriting existing method Annonce.validate.
Creating scope :all. Overwriting existing method Article.all.
Creating scope :all. Overwriting existing method Article.all.
だから私はユニコーンのログを見て、これを見つけました:
E, [2013-05-21T03:20:08.751341 #31081] ERROR -- : reaped #<Process::Status: pid 4335 exit 1> worker=0
I, [2013-05-21T03:20:08.753997 #31081] INFO -- : worker=0 spawning...
E, [2013-05-21T03:20:08.790666 #31081] ERROR -- : reaped #<Process::Status: pid 4332 exit 1> worker=1
I, [2013-05-21T03:20:08.791251 #31081] INFO -- : worker=1 spawning...
I, [2013-05-21T03:20:08.794600 #4341] INFO -- : worker=0 spawned pid=4341
I, [2013-05-21T03:20:08.796302 #4341] INFO -- : Refreshing Gem list
I, [2013-05-21T03:20:08.802089 #4344] INFO -- : worker=1 spawned pid=4344
I, [2013-05-21T03:20:08.803227 #4344] INFO -- : Refreshing Gem list
I, [2013-05-21T03:20:37.871677 #31081] INFO -- : reloading config_file=/home/deployer/apps/avocat-immo/current/config/unicorn.rb
I, [2013-05-21T03:20:37.876045 #31081] INFO -- : done reloading config_file=/home/deployer/apps/avocat-immo/current/config/unicorn.rb
I, [2013-05-21T03:20:38.002451 #31081] INFO -- : reaped #<Process::Status: pid 4344 exit 0> worker=1
I, [2013-05-21T03:20:38.002640 #31081] INFO -- : worker=1 spawning...
I, [2013-05-21T03:20:38.007280 #4674] INFO -- : worker=1 spawned pid=4674
I, [2013-05-21T03:20:38.007595 #4674] INFO -- : Refreshing Gem list
I, [2013-05-21T03:20:38.010511 #31081] INFO -- : reaped #<Process::Status: pid 4341 exit 0> worker=0
I, [2013-05-21T03:20:38.010714 #31081] INFO -- : worker=0 spawning...
I, [2013-05-21T03:20:38.012600 #4678] INFO -- : worker=0 spawned pid=4678
I, [2013-05-21T03:20:38.012886 #4678] INFO -- : Refreshing Gem list
I, [2013-05-21T03:21:08.079364 #4678] INFO -- : worker=0 ready
I, [2013-05-21T03:21:08.080779 #4674] INFO -- : worker=1 ready
I, [2013-05-21T03:21:46.897404 #31081] INFO -- : reloading config_file=/home/deployer/apps/avocat-immo/current/config/unicorn.rb
I, [2013-05-21T03:21:46.900599 #31081] INFO -- : done reloading config_file=/home/deployer/apps/avocat-immo/current/config/unicorn.rb
I, [2013-05-21T03:21:47.237973 #31081] INFO -- : reaped #<Process::Status: pid 4678 exit 0> worker=0
I, [2013-05-21T03:21:47.238160 #31081] INFO -- : worker=0 spawning...
I, [2013-05-21T03:21:47.241018 #31081] INFO -- : reaped #<Process::Status: pid 4674 exit 0> worker=1
I, [2013-05-21T03:21:47.241296 #31081] INFO -- : worker=1 spawning...
I, [2013-05-21T03:21:47.243055 #4919] INFO -- : worker=0 spawned pid=4919
I, [2013-05-21T03:21:47.243287 #4919] INFO -- : Refreshing Gem list
I, [2013-05-21T03:21:47.245830 #4921] INFO -- : worker=1 spawned pid=4921
I, [2013-05-21T03:21:47.246122 #4921] INFO -- : Refreshing Gem list
I, [2013-05-21T03:22:17.055549 #4919] INFO -- : worker=0 ready
I, [2013-05-21T03:22:17.057331 #4921] INFO -- : worker=1 ready
I, [2013-05-21T03:29:57.149534 #31081] INFO -- : reloading config_file=/home/deployer/apps/avocat-immo/current/config/unicorn.rb
I, [2013-05-21T03:29:57.181644 #31081] INFO -- : done reloading config_file=/home/deployer/apps/avocat-immo/current/config/unicorn.rb
I, [2013-05-21T03:29:57.997267 #31081] INFO -- : reaped #<Process::Status: pid 4919 exit 0> worker=0
I, [2013-05-21T03:29:57.997689 #31081] INFO -- : worker=0 spawning...
I, [2013-05-21T03:29:58.003458 #31081] INFO -- : reaped #<Process::Status: pid 4921 exit 0> worker=1
I, [2013-05-21T03:29:58.003691 #31081] INFO -- : worker=1 spawning...
I, [2013-05-21T03:29:58.010269 #7783] INFO -- : worker=0 spawned pid=7783
何度も ...
だからここに私の設定があります:
私のunicorn.rb:
root = "/home/deployer/apps/avocat-immo/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.avocat.sock"
worker_processes 2
timeout 30
そして、ここに私の 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/avocat-immo/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
私が試してみました
/etc/init.d/unicorn_avocat-immo start
/etc/init.d/unicorn_avocat-immo stop
nginxも再起動しましたが、何も機能していないようです。Web サイトはエラー ページに 1 秒もかからずにロードされ、Web サイトは本番環境にあるはずのようにまだ機能していません。
誰かがその問題について私を助けることができますか?
nginx errors.log にある追加情報
2013/05/21 12:23:08 [crit] 19097#0: *16 connect() to unix:/tmp/avocat.sock failed (2: No such file or directory) while connecting to upstream, client: **.***.**.***, server: , request: "GET / HTTP/1.1", upstream: "http://unix:/tmp/avocat.sock:/", host: "**.***.**.***"