LoginSignup
1
2

More than 3 years have passed since last update.

Rails Unicorn起動時のエラー

Posted at

本記事投稿のいきさつ

最近Railsの勉強を始めたが、その中でエラー対応に苦戦したためメモ代わりにここに残したいと思います。
また、不慣れのため表現や書き方など、分かりづらい部分があるかと思います。
優しい目で見ていただければ幸いです。

エラー

Capistranoでデプロイ後にunicornを再起動をしたかったのですが、EC2でunicorn接続をした際上手く接続ができずlessコマンドでエラーログを確認。

ArgumentError: Already running on PID:~~

との表示がされていました。

仮説

エラー文から以前のunicorn接続のプロセスが残っていると思い

ps aux | grep unicorn

入力し確認したところどうやら余分なプロセスは確認できませんでした。
もしプロセスが表示されていれば

kill プロセスid

で解決できます。しかし他に原因があるようです。
ネットで調べたところ unicorn.rb に問題がある場合にもこのエラーが発生するとのことでした。

原因と対策

unicorn.rbを確認したところ

unicorn.rb
pid "#{app_path}tmp/pids/unicorn.pid"

の設定を発見しました。
Capistranoの導入でディレクトリの構造が変わるのですが、それに伴う設定の変更を一箇所出来ていませんでした。
そのため記述を以下に変更

unicorn.rb
pid "#{app_path}/shared/tmp/pids/unicorn.pid"

これで無事動くようになりました。
エラー文だけで判断せず調べることも重要ということを改めて再認識した事象でした。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2