(初心者向け)vpsを契約して、capistrano3でRailsアプリをデプロイするまで その1 サーバー設定編 - Qiita
の補足です。
手順を実行すると各種エラーが出ることがあるかと思います。
その際の覚え書きとして、今回のデプロイを通して所持たエラーの回避について記します。
Permission denied エラー
サーバー、ローカルのどちらの作業でもpermission deniedというエラーログが表示されること多々あると思います。
コンピューターが言いたいことは一つ、*お前権限ないけど!!*ってことです。なのでその時は何も考えず、sudoを前につけて実行しましょう。
コマンドを管理者権限で実行することができます。
# ファイルを作成したいけど作れない!
$ mkdir hoge
Error xxxx Permission dinied!
# 管理者権限で実行
$ sudo mkdir hoge
毎回sudoを付けるのが面倒!!という時は「sudo chown ユーザー名 ファイル名orディレクトリ名」 でファイル、ディレクトリの所有者を設定できます。そうすれば、設定したユーザーで操作を行う際は、sudoを付ける必要がなくなります。ただ、こちらセキュリティ的にあれな時あるので注意してください。
なお、あるディレクトリ以下のディレクトリ、ファイルを再帰的に権限を設定したい場合は-Rのオプションをつけます。
# fugaディレクトリにhogeを所有者として設定
$ sudo chown hoge fuga
# fugaディレクトリ以下、すべてのファイルの所有者をhogeに設定
$ sudo chown -R hoge fuga
ssh接続でWARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!が出た時
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
私も作り直して接続して、、、を繰り返している内に上記が出てしまい接続不可となりました。
その場合は、known_hostsの設定削除を行えば良いらしいです。
# known_hostsの更新
$ ssh-keygen -R [conohaのipアドレス]
より詳細については以下記事が分かりやすかったです。
SSH接続エラー回避方法:.ssh/known_hostsから特定のホストを削除する/削除しないで対処する3つの方法 - Qiita
unicornが再起動しない
capistranoでデプロイが成功してもunicornが再起動しない場合があります。
その場合は、サーバーにて手動でプロセスを削除後、再度capistrano deployを行いましょう。
プロセスの確認
$ ps -ef | grep unicorn
unityro+ 8575 1 0 17:18 ? 00:00:01 unicorn_rails master -c config/unicorn.rb -E production -D
unityro+ 8579 8575 0 17:18 ? 00:00:00 unicorn_rails worker[0] -c config/unicorn.rb -E production -D
unityro+ 8582 8575 0 17:18 ? 00:00:00 unicorn_rails color=auto unicorn
プロセスIDを確認後(上記の場合は8575、8579)それをkill
# 上記の場合は$ kill -QUIT 8575
$ kill -QUIT [PID]
以下記事参考にさせて頂きました。