セットアップ
Node.jsアプリを常駐させる:プロセス管理ツールとsystemd
2026年10月8日

レン
アプリを動かし続けたいんだけど、接続を切ると止まっちゃう…

プロクラ
そのまま起動しただけだと、ログアウトで終了してしまうからね。常駐させる仕組みが必要だよ。選択肢は主に2つある。
2つの選択肢
どちらを選んでも、やることは同じです。落ちたら起動し直す、サーバーの再起動後も自動で立ち上がる、ログをどこかに残す。この3つが満たせていれば手段は問いません。OS標準の仕組みを使うか専用の道具を入れるかは、他に何を管理しているかで決めてください。
- プロセス管理ツール: 導入が簡単。複数アプリの管理がしやすい
- systemd: OSに最初から入っている。追加の導入が不要
- どちらも、落ちたら再起動、起動時に自動で立ち上げ、が可能
- できることは近いので、好みで選んでよい

プロクラ
強いて言えば、Node.jsのアプリを複数動かすならプロセス管理ツール、他のサービスと並べて管理したいならsystemd、という感じかな。
どちらでも必要な設定
- サーバー再起動後に、自動で立ち上がる設定
- 落ちたときに再起動する設定
- 再起動を繰り返さないための上限
- 動かすユーザーを指定する(rootで動かさない)

プロクラ
3つめを入れておかないと、起動に失敗し続けるアプリが、延々と再起動を繰り返すことになる。ログも膨らむし、資源も使う。上限を決めて、諦めるようにしておこう。
環境変数に注意
手元では読めていた設定が本番で読めない、というのはよくある詰まり方です。常駐させる仕組みから起動すると、ログイン時に読み込まれる設定ファイルが読まれません。起動の定義側で明示的に渡すのが確実です。

プロクラ
手で起動すると動くのに、常駐させると設定が読まれない。これは非常によくある症状で、原因は環境の違いだよ。
- ログイン時に読み込まれる設定は、サービス起動時には読まれない
- 起動の定義の中で、環境変数を明示的に渡す
- またはファイルにまとめて、それを読み込ませる
- 認証情報を含むファイルは、権限を絞る
ログの出し先
- 標準出力へ出しておけば、常駐の仕組み側が記録してくれる
- その場合、保存期間や容量の上限を設定する
- ファイルに直接書くなら、自動で分割・削除する設定が要る
- どちらにせよ、放置すると膨らむ点は共通

プロクラ
1つめがいちばん楽だよ。アプリは出力するだけ、保存は外側に任せる。この分担にしておくと、後から構成を変えるときも楽になる。

レン
再起動の上限を決める。環境変数は起動の定義で渡す。覚えた。
動いているかを確認する

プロクラ
常駐させたつもりでも、実は上がっていないことがある。設定した直後に、必ず確認しよう。
- サービスの状態を表示して、起動しているか見る
- 実際にサーバーを再起動して、自動で上がるか試す
- 落ちたときの挙動も、一度試しておくと安心
- 外形監視を入れて、止まったら通知が来る状態にする

プロクラ
2つめを済ませておくと、更新のための再起動が怖くなくなるよ。本番で初めて試すことにならないようにしよう。

プロクラ
どちらを選ぶにせよ、設定した内容はメモに残しておこう。サーバーを作り直すとき、同じ状態を再現できるかどうかで手間がまったく違うよ。
この記事の条件で、実際の料金を見る
あわせて読みたい
- セットアップSSHのポートを変えたら繋がらなくなった変更が反映されない、ファイアウォールで塞がれている、SELinuxに拒否されている。3つの原因を切り分ける手順と、安全な変更の進め方を解説します。
- セットアップOSのメジャーアップグレード:上げるか、作り直すかサポート期限が近いときの2つの選択肢を比べます。その場で上げる方法が向く場合と、新しいサーバーを立てて移すほうが速い場合の分かれ目を示します。
- セットアップサーバー管理ツールを使うか、コマンドでやるか画面から操作できる管理ツールの利点と、引き受けることになる負担。使う場合の守り方と、使わない判断の基準を整理します。
- セットアップディスクが足りない:増やす前に見るものと、増やし方の違い容量を追加する前に確認したい消費先と、追加ディスクとプラン変更のどちらを選ぶかの判断。追加したディスクが後から請求に残り続ける理由も説明します。
サーバーを触る前に押さえておきたいこと
姉妹サイトの、この記事と相性のいいページです。
- Linuxコマンド入門
ls / cd / grep などを疑似ターミナルで試しながら学べる — prodou.net
- シェルスクリプト入門
サーバー作業の自動化スクリプトを基礎から — prodou.net
- Password Generator
サーバー用に強いパスワードをその場で生成 — toolkitbox.net
- Cron Generator
定期実行のcron式を組み立てる — toolkitbox.net