错误 - :收获#<process :: status:pid =“”4335 =“”exit =“”1 =“”> worker = 0 </process :: status:>

时间:2013-05-21 02:03:51

标签: ruby-on-rails deployment capistrano unicorn ruby-1.9.3

我在2天内尝试使用:ruby(1.9.3-rc1),rails,capistrano,nginx和unicorn在我的vps(Ubuntu 12.04服务器(64位))上进行部署。

我还关注了Ryan Bates的railscast教程,展示了如何从头开始部署VPS。

Actualy cap deploy:冷命令似乎工作得很好(和所有其他人一样)但是当我试着继续我的网址时,我会说“我们很抱歉,但是有些事情发生了”=&gt; 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,但似乎没有任何效果。该网站在错误页面上加载的时间不到一秒,网站尚未正常运行,因为它应该在生产中。

有人可以帮我解决这个问题吗?

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: "**.***.**.***"

1 个答案:

答案 0 :(得分:3)

只需在config / production.rb

中添加config.log_level = :debug即可

您将在log / production.log中收到错误日志 粘贴该日志的输出,以便我可以帮助您

也尝试rake assets:precompile