質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.61%

AWSにcapistranoでデプロイしたいが、unicorn start にてエラー

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 878

score 13

表題の件でエラーが解消出来ず困っています。
全く糸口が見つからず、、ヒントをいただけませんでしょうか。足りない情報などありましたらご指示ください。

怪しいと思っている所

この部分で kill が上手く動いていないように見えます。何故かこれ以降にオプションが表示されているからです。

00:08 unicorn:start
      01 /usr/local/rbenv/bin/rbenv exec bundle exec unicorn -c /var/www/a…
    ✔ 01 app@**.**.**.** 0.103s
      unicorn restarting...
      02 kill -s USR2 `cat /var/www/app/current/tmp/pids/unicorn.pid`

調査したこと・実施したこと

https://teratail.com/questions/147833
上記の情報の通りファイルの存在を確認して実施しましたが、同様のエラーが発生しました。
また、権限が無い可能性を考えchmod 777 に切り替えて実施するも同様のエラーでした。(上手くいかないので664に戻しています。)

https://teratail.com/questions/169573
こちらの情報ではaws側のpidファイルを削除すると上手くいくとありましたので実施した所、
no such file エラーになりました。(上手くいかないので今は復元しています。)

発生している問題・エラーメッセージ

[中略]
00:07 deploy:symlink:release
      01 ln -s /var/www/app/releases/20190227020313 /var/www/app/r…
    ✔ 01 app@**.**.**.** 0.104s
      02 mv /var/www/app/releases/current /var/www/app
    ✔ 02 app@**.**.**.** 0.105s
00:08 unicorn:start
      01 /usr/local/rbenv/bin/rbenv exec bundle exec unicorn -c /var/www/a…
    ✔ 01 app@**.**.**.** 0.103s
      unicorn restarting...
      02 kill -s USR2 `cat /var/www/app/current/tmp/pids/unicorn.pid`
      02
      02 Usage:
      02  kill [options] <pid|name> [...]
      02
      02 オプション:
      02  -a, --all              do not restrict the name-to-pid conversio…
      02                         with the same uid as the present process
      02  -s, --signal <sig>     send specified signal
      02  -q, --queue <sig>      use sigqueue(2) rather than kill(2)
      02  -p, --pid              print pids without signaling them
      02  -l, --list [=<signal>] list signal names, or convert one to a na…
      02  -L, --table            list signal names and numbers
      02
      02  -h, --help     display this help and exit
      02  -V, --version  output version information and exit
      02
      02 For more details see kill(1).
#<Thread:0x00007f87da05fd98@/Users/myoujinamae/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/sshkit-1.18.0/lib/sshkit/runners/parallel.rb:10 run>terminated with exception (report_on_exception is true):
Traceback (most recent call last):
        1: from /Users/myoujinamae/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/sshkit-1.18.0/lib/sshkit/runners/parallel.rb:11:in `block (2 levels) in execute'
/Users/myoujinamae/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/sshkit-1.18.0/lib/sshkit/runners/parallel.rb:15:in `rescue in block (2 levels) in execute': Exception while executing as app@**.**.**.**: kill exit status: 1 (SSHKit::Runner::ExecuteError)
kill stdout: Nothing written
kill stderr: Usage:
 kill [options] <pid|name> [...]

オプション:
 -a, --all              do not restrict the name-to-pid conversion to processes
                        with the same uid as the present process
 -s, --signal <sig>     send specified signal
 -q, --queue <sig>      use sigqueue(2) rather than kill(2)
 -p, --pid              print pids without signaling them
 -l, --list [=<signal>] list signal names, or convert one to a name
 -L, --table            list signal names and numbers

 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see kill(1).
(Backtrace restricted to imported tasks)
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as app@**.**.**.**: kill exit status: 1
kill stdout: Nothing written
kill stderr: Usage:
 kill [options] <pid|name> [...]

[中略]
  INFO unicorn restarting...

  INFO [0ccb1ac9] Running /usr/bin/env kill -s USR2 `cat /var/www/app/current/tmp/pids/unicorn.pid` as app@**.**.**.**
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

check解決した方法

0

解決?(一応)したのでご報告します!!(兼、自分用のまとめですm(_ _)m)

原因

kill コマンドが動いていない所に着目した所、unicorn がインストールされていない可能性がありました。

00:05 bundler:install
      The Gemfile's dependencies are satisfied, skipping installation


それとEC2側で bundle exec rails c -e production が動かなったのも怪しいと感じた所です。(これは先輩に聞きました)

結論

rbenv の導入方法がよくなかったのが原因でした。そもそも進めていく中で私が勝手に下記の
問題を対応したためです。

00:05 bundler:install
      01 /usr/local/rbenv/bin/rbenv exec bundle install --path /var/www/achieve/shared/bundle --jobs 401 bash: /usr/local/rbenv/bin/rbenv: そのようなファイルやディレクトリはあり...


上記のエラーに対して「無ければ作れば良い!」として手動で mkdirとtouch で対応した影響です。
  
/usr/local 配下に存在していたrbenv が中途半端に作成されていて必要なファイルが無かった様子でした。
なぜか「rbenv?」と言うディレクトリがあり、これが正常なrbenvっぽかったのでこれを
使用するようにコピーやリネイムをした所無事にデプロイが出来ました!! 

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

以下で、/var/www/app/releases/currentをmvしているので、

02 mv /var/www/app/releases/current /var/www/app

以下のkillが失敗しているのではないでしょうか?

02 kill -s USR2 `cat /var/www/app/current/tmp/pids/unicorn.pid`

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/02/27 14:45

    moonphaseさん、回答ありがとうございます!
    確認してみます!( ;∀;)

    キャンセル

  • 2019/02/27 15:00 編集

    moonphaseさん

    勉強不足で申し訳有りません。

    〜略
    00:07 deploy:symlink:release
    01 ln -s /var/www/app/releases/20190227020313 /var/www/app/r…
    ✔ 01 app@**.**.**.** 0.104s
    02 mv /var/www/app/releases/current /var/www/app
    ✔ 02 app@**.**.**.** 0.105s
    00:08 unicorn:start
    略〜

    上記の処理はcapistranoがデプロイする手順の一貫の流れとして考えていました。
    そのためこの処理は必要という認識でした。
    つまり、何か他のファイル( deploy.rb 等)が悪さをしているという解釈しましたので、一度見直してみます!

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る