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機能をサポートします。インフラストラクチャに向けて設定する方法を学びます。
開発時の注意: Dockerは本番環境のデプロイに最適ですが、MacおよびWindows上での開発中は、パフォーマンスを向上させるためにDocker代わりにローカル開発(
npm run dev)の使用を検討してください。ローカル開発の最適化について詳しく学ぶ。
テンプレート
静的エクスポート
Next.jsは静的サイトまたはシングルページアプリケーション(SPA)として起動し、その後、サーバーが必要な機能を使用するようにアップグレードできます。
Next.jsは静的エクスポートをサポートしているため、HTML/CSS/JS静的アセットを提供できる任意のウェブサーバーにデプロイおよびホストできます。これにはAWS S3、Nginx、Apacheなどのツールが含まれます。
静的エクスポートとして実行することは、サーバーが必要なNext.js機能をサポートしません。詳しく学ぶ。
テンプレート
アダプター
Next.jsはサポートインフラストラクチャ機能を実現するために異なるプラットフォームで実行するように適応させることができます。
サポートされるNext.js機能に関する情報については、各プロバイダーのドキュメントを参照してください。
注意: すべてのプラットフォームが採用するDeployment Adapters APIに取り組んでいます。完了後、独自のアダプターを作成する方法に関するドキュメントを追加します。