Skip to main content

はじめに

Laravelアプリケーションを本番環境にデプロイするときは、できるだけ効率よく動作するよう準備が必要です。 このガイドでは、本番デプロイを確実に行うための重要なポイントを解説します。

デプロイフロー

サーバー要件

Laravelフレームワークには以下のシステム要件があります。 PHP 8.3 以上と、下記のPHP拡張モジュールが必要です。

サーバー設定

Nginx

Nginxを使用している場合は、以下の設定ファイルをベースにしてください。 すべてのリクエストを public/index.php に転送することが重要です。 index.php をプロジェクトルートに移動しないでください。機密設定ファイルが外部に公開されてしまいます。

FrankenPHP

FrankenPHP はGoで書かれたモダンなPHPアプリケーションサーバーです。 以下のコマンドだけでLaravelアプリケーションを起動できます。
HTTP/3、モダンな圧縮、Laravel Octane 連携、スタンドアロンバイナリ化などの高度な機能は FrankenPHPのLaravelドキュメント を参照してください。

ディレクトリ権限

Laravelは bootstrap/cachestorage ディレクトリへの書き込みが必要です。 Webサーバーのプロセスオーナーがこれらのディレクトリに書き込めるよう権限を設定してください。

最適化

本番環境へのデプロイ時には、設定・イベント・ルート・ビューをキャッシュしてパフォーマンスを向上させます。 optimize コマンドで一括キャッシュできます。
キャッシュを削除するには optimize:clear を使います。

個別の最適化コマンド

optimize は以下のコマンドをまとめて実行します。必要に応じて個別に実行することも可能です。
config:cache を実行した後は、設定ファイル内でのみ env() 関数を呼び出してください。 キャッシュ後は .env ファイルが読み込まれなくなるため、設定ファイル以外で env() を呼ぶと null が返ります。

サービスのリロード

新しいバージョンをデプロイした後、キューワーカー・Laravel Reverb・Laravel Octane などの長時間動作するサービスは、新しいコードを使うために再起動が必要です。
このコマンドはリロード可能なサービスを終了させます。 プロセスモニター(Supervisorなど)が自動的に再起動するよう設定しておいてください。
Laravel Cloudを使用している場合、すべてのサービスのグレースフルリロードは自動的に処理されるため、reload コマンドは不要です。

デバッグモード

config/app.phpdebug オプションは、エラー情報をユーザーにどれだけ表示するかを制御します。 デフォルトでは .env ファイルの APP_DEBUG 環境変数の値が使われます。
本番環境では APP_DEBUG を必ず false にしてください。 APP_DEBUG=true のまま本番環境で動作させると、データベース接続情報や秘密鍵などの機密設定値がエンドユーザーに露出するリスクがあります。

ヘルスチェックルート

Laravelにはアプリケーションの状態を監視するためのヘルスチェックルートが組み込まれています。 アップタイムモニター・ロードバランサー・Kubernetesなどのオーケストレーションシステムと連携できます。 デフォルトでは /up エンドポイントが用意されており、アプリケーションが正常に起動していれば 200、起動時に例外が発生していれば 500 を返します。 bootstrap/app.php でURIをカスタマイズできます。
このルートへのリクエスト時に Illuminate\Foundation\Events\DiagnosingHealth イベントが発行されるため、 データベースやキャッシュの追加チェックをリスナーで実装できます。

Laravel CloudまたはForgeでデプロイする

Laravel Cloud

完全マネージドの自動スケールデプロイプラットフォームをお探しなら、Laravel Cloud がおすすめです。 マネージドコンピュート・データベース・キャッシュ・オブジェクトストレージを提供する、Laravelに最適化されたPaaSです。 Laravelの開発チームが直接チューニングしており、フレームワークとシームレスに連携します。

Laravel Forge

自分でサーバーを管理したいけれど、NginxやMySQLなどの各種サービスのセットアップには手間をかけたくない場合は、Laravel Forge が便利です。 DigitalOcean・Linode・AWSなど主要なクラウドプロバイダーにサーバーを作成し、Nginx・MySQL・Redis・Memcached・Beanstalkなどのツールを自動的にインストール・管理します。

次のステップ

デプロイメント — 公式ドキュメント

公式ドキュメントでは最新のデプロイ設定の詳細を確認できます。
最終更新日 2026年4月12日