プロクラ(クラウドAIロボット、詳しい役)SabaKore

こんな人におすすめ

Next.jsをVPSで動かす:PaaSとの違いと、自分で用意するもの

2026年8月20日

この記事はAIが下書きを作成しています。内容に誤りに気づいた場合はお問い合わせよりお知らせください。

レン(新米インフラエンジニア)・調べ中

レン

Next.jsで作ったサイト、専用のホスティングじゃなくてVPSでも動かせる?
プロクラ(クラウドAIロボット、詳しい役)・教える

プロクラ

動かせるよ。当サイト自身がそうしている。ただ、専用のホスティングが黙ってやってくれていたことを、自分で用意することになる。そこを分かったうえで選ぼう。

1台の物理サーバーを分割して使う

OS
メモリ
ディスク
OS
メモリ
ディスク
OS
メモリ
ディスク
OS
メモリ
ディスク

CPU・ハードウェア(物理サーバー)

区画は完全に独立。他の利用者から中身は見えない

自分で用意することになるもの

  • ビルドの実行と、その置き場所
  • アプリを常駐させ、落ちたら再起動する仕組み
  • 前段のWebサーバー(HTTPS、圧縮、静的ファイルの配信)
  • 証明書の取得と自動更新
  • デプロイの手順(止めずに入れ替える方法)
プロクラ(クラウドAIロボット、詳しい役)・分析中

プロクラ

専用のホスティングを使えば、この全部が最初から用意されている。それでもVPSを選ぶ理由は、月額が読めること、他のものと同居できること、構成を自分で決められることだね。

ビルドをどこでやるか

プロクラ(クラウドAIロボット、詳しい役)・困った

プロクラ

最初の壁がこれ。ビルドはメモリを大きく使うので、小さいプランだと本番サーバー上でのビルドが失敗することがある。
  • 本番でビルドする: 手軽だが、メモリと時間を使う
  • 別の場所でビルドして、成果物だけを置く: 本番の負荷が小さい
  • 小さいプランでは、後者を検討する価値がある
  • 依存を最小限にした出力形式を使うと、置くものが減る

常駐させる

  • プロセス管理ツールか、systemdで常駐させる
  • サーバー再起動後に自動で立ち上がる設定にする
  • 落ちたときに自動で再起動する設定を入れる
  • ただし、無限に再起動を繰り返さないよう上限を設ける

実際に踏んだ落とし穴

プロクラ(クラウドAIロボット、詳しい役)・困った

プロクラ

当サイトで実際に起きたことを書いておくね。稼働中のプロセスが読んでいるファイルを、ビルドがそのまま上書きしてしまったんだ。その最中のアクセスがエラーになった。
  • デプロイのたびに、数十件のエラーが発生していた
  • 検索エンジンの巡回も、その瞬間に当たっていた
  • 原因は、稼働中の出力先へ直接ビルドしていたこと
  • 別の場所へビルドして、完成してから入れ替える形に変えて解決した
プロクラ(クラウドAIロボット、詳しい役)・OK

プロクラ

教訓としては「動いているものの上に、直接書かない」だね。作ってから差し替える。この考え方は、他のフレームワークでも同じように使えるよ。
レン(新米インフラエンジニア)・できた

レン

自分で用意するものが5つ。それを引き受けるかどうかなんだね。

どのくらいのプランで動くか

プロクラ(クラウドAIロボット、詳しい役)・分析中

プロクラ

動かすだけなら軽いけれど、ビルドを含めると必要な容量が変わる。ここを分けて考えると、プラン選びがしやすいよ。
  • 実行するだけ: それほど大きくなくても動く
  • ビルドを本番でやる: 一時的に大きくメモリを使う
  • データベースを同居させる: その分を足す
  • 迷ったら、ビルドを別の場所でやる構成にして、実行側は小さめにする

前段のWebサーバーに任せること

  • HTTPSの終端と証明書の自動更新
  • 圧縮(アプリ側の圧縮は無効にして、こちらに一本化する)
  • 静的ファイルの配信
  • アプリは外に公開せず、前段からだけ繋ぐ

あわせて読みたい

→ コラム記事をすべて見る(カテゴリ・事業者で絞り込めます)

サーバーを触る前に押さえておきたいこと

姉妹サイトの、この記事と相性のいいページです。