Next.jsアプリケーションのデプロイ方法
Next.jsは、Node.jsサーバー、Dockerコンテナ、静的エクスポート、または異なるプラットフォームで実行するように適応させることができます。
デプロイオプション | 機能サポート |
---|---|
Node.jsサーバー | すべて |
Dockerコンテナ | すべて |
静的エクスポート | 限定的 |
アダプター | プラットフォーム固有 |
Node.jsサーバー
Next.jsはNode.jsをサポートするあらゆるプロバイダーにデプロイできます。package.json
に"build"
と"start"
スクリプトが含まれていることを確認してください:
{
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start"
}
}
その後、npm run build
を実行してアプリケーションをビルドし、npm run start
でNode.jsサーバーを起動します。このサーバーはすべてのNext.js機能をサポートしています。必要に応じて、カスタムサーバーに移行することもできます。
Node.jsデプロイメントはすべてのNext.js機能をサポートしています。インフラストラクチャに合わせて設定する方法について学びましょう。
テンプレート
Docker
Next.jsはDockerコンテナをサポートするあらゆるプロバイダーにデプロイできます。これにはKubernetesのようなコンテナオーケストレーターやDockerを実行するクラウドプロバイダーが含まれます。
DockerデプロイメントはすべてのNext.js機能をサポートしています。インフラストラクチャに合わせて設定する方法について学びましょう。
テンプレート
静的エクスポート
Next.jsは静的サイトやシングルページアプリケーション(SPA)として始めて、後からサーバーを必要とする機能を利用するためにアップグレードすることが可能です。
Next.jsは静的エクスポートをサポートしているため、HTML/CSS/JSの静的アセットを提供できるあらゆるWebサーバーにデプロイ・ホスティングできます。これにはAWS S3、Nginx、Apacheなどのツールが含まれます。
静的エクスポートとして実行する場合、サーバーを必要とするNext.js機能はサポートされません。詳細はこちら。
テンプレート
アダプター
Next.jsは異なるプラットフォームのインフラストラクチャ機能をサポートするように適応させることができます。
サポートされているNext.js機能に関する情報については、各プロバイダーのドキュメントを参照してください:
注意: 現在、すべてのプラットフォームが採用できるデプロイメントアダプターAPIに取り組んでいます。完成後、独自のアダプターを作成する方法に関するドキュメントを追加する予定です。