セットアップ
Node.jsアプリを常駐させる:プロセス管理ツールとsystemd
2026年8月20日
この記事はAIが下書きを作成しています。内容に誤りに気づいた場合はお問い合わせよりお知らせください。

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

プロクラ
そのまま起動しただけだと、ログアウトで終了してしまうからね。常駐させる仕組みが必要だよ。選択肢は主に2つある。
2つの選択肢
- プロセス管理ツール: 導入が簡単。複数アプリの管理がしやすい
- systemd: OSに最初から入っている。追加の導入が不要
- どちらも、落ちたら再起動、起動時に自動で立ち上げ、が可能
- できることは近いので、好みで選んでよい

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

プロクラ
3つめを入れておかないと、起動に失敗し続けるアプリが、延々と再起動を繰り返すことになる。ログも膨らむし、資源も使う。上限を決めて、諦めるようにしておこう。
環境変数に注意

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

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

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

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

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

プロクラ
どちらを選ぶにせよ、設定した内容はメモに残しておこう。サーバーを作り直すとき、同じ状態を再現できるかどうかで手間がまったく違うよ。
あわせて読みたい
- セットアップConoHa for Windows ServerWindows Server VPSの初期設定:運用を始める前にやること契約直後の状態は安全ではありません。接続元の制限、アカウントの整理、更新の設定、そして戻せる状態の確保まで、順番に解説します。
- セットアップDigitalOceanデプロイのたびにサイトを落とさない稼働中のファイルを直接上書きすると、その瞬間のアクセスが失敗します。作ってから差し替える考え方と、実際に起きた失敗例を解説します。
- セットアップDigitalOceanビルドをどこでやるか:本番サーバーの負荷を避ける本番でビルドすると何が起きるのか、別の場所で作る場合の選択肢。小さいプランでビルドが失敗する理由と、その回避策を解説します。
- セットアップさくらのVPSVPSの申し込みから公開まで:全体の流れと、各社の管理画面の違い申し込みから公開までを5段階で解説し、各社の管理画面で呼び名が違う部分を対応表にまとめました。締め出されたときの戻り方も扱います。
サーバーを触る前に押さえておきたいこと
姉妹サイトの、この記事と相性のいいページです。
- Linuxコマンド入門
ls / cd / grep などを疑似ターミナルで試しながら学べる — prodou.net
- シェルスクリプト入門
サーバー作業の自動化スクリプトを基礎から — prodou.net
- Password Generator
サーバー用に強いパスワードをその場で生成 — toolkitbox.net
- Cron Generator
定期実行のcron式を組み立てる — toolkitbox.net