2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【解決方法まとめ】Railsサーバー起動時の「A server is already running.」エラーに遭遇した時の対処法

Last updated at Posted at 2023-03-12

はじめに

2021/9~エンジニアしている高橋と申します。
業務でぶち当たったエラーの対処法をまとめていきます。

※あと最近見た映画「ブルージャイアント(BLUE GIANT)」の感動シーンを最後に載せます

エラー内容

error_log
=> Booting Puma
=> Rails 6.0.4.4 application starting in development 
=> Run `rails server --help` for more startup options
A server is already running. Check /home/XXXXXXXXXX/tmp/pids/server.pid.
Exiting

パッと見た瞬間のワイ

「なんじゃらほい・・・」(´-ω-`)

エラーメッセージの意味を理解する

Railsサーバーを起動しようとした際に既にサーバーが起動しているために発生するエラーです。
このエラーは、以下のような意味があります。

  • 「A server is already running.」 : サーバーは既に実行中です。
  • 「Check /home/XXXXXXXXXX/tmp/pids/server.pid.」 : サーバーのプロセスIDが記録されたserver.pidファイルを確認してください。
    つまり、サーバーが既に起動しており、server.pidファイルにはそのプロセスIDが記録されているため、再度サーバーを起動することができないというエラーです。

このエラーを解決するには、以下の手順を実行する必要があります。

1. server.pidファイルを確認する
2. 既に起動しているサーバーのプロセスIDを終了する
3. server.pidファイルを削除する
4. サーバーを再起動する
5. 上記の手順を実行することで、サーバーを再起動することができます。

server.pidファイルを確認する

エラーメッセージにあるように、まずはサーバーのプロセスIDを記録したserver.pidファイルを確認しましょう。
server.pidファイルは、Railsアプリケーションのtmp/pidsディレクトリにあります。
次のコマンドでserver.pidファイルを確認できます。

$ cat tmp/pids/server.pid

既に起動しているサーバーのプロセスIDを終了する

server.pidファイルに記録されているプロセスIDをkillコマンドで終了しましょう。
次のコマンドで、ポート番号3000を使用しているプロセスを調べることができます。

$ lsof -i:3000

上記コマンドを実行すると、プロセスIDとプロセス名が表示されます。
プロセスIDを確認したら、次のコマンドでプロセスを終了しましょう。

$ kill <プロセスID>

# それでもキルされなかったら以下を実行して強制的にキルする
$ kill -9 <プロセスID>

server.pidファイルを削除する

プロセスが終了したら、server.pidファイルを削除します。
次のコマンドで削除できます。

$ rm tmp/pids/server.pid

サーバーを再起動する

これで、サーバーを起動することができます。
以下のコマンドでサーバーを起動してください。

$ rails server

これでいけるはず…‼
できなかったらコメントなどください~!

おわりに

最後に感動シーンを…

3人バンドのドラマーの玉田が2人のレベルについていけず打ちひしがれている場面。
観客の老人が声をかけてくれる…

スクリーンショット 2023-03-13 005825.png

見てくれる人はその人の見てくれてるんですね。
グッとくる個人的名シーンです!

最後まで読んでいただきありがとうございます!
Twitterやてます~
https://twitter.com/takazu_engineer

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?