展開する
- オートローダーの改善
- 設定読み込みの改善
- Forge を使用したデプロイ
- #はじめに
- Laravel アプリケーションを運用環境にデプロイする準備ができたら、アプリケーションが可能な限り効率的に実行されるように、いくつかの重要な点に必ず注意してください。この記事では、 Laravel
Nginxアプリケーションを
Nginx
サーバーにデプロイする場合は、開始点として次の構成ファイルを使用して
サーバーを構成できます。おそらく、このファイルはサーバー構成に基づいてカスタムの変更が必要になります。サーバー管理のサポートが必要な場合は、Laravel Forge の使用を検討してください:server {
listen 80;
server_name example.com;
root /example.com/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string; }
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
改善点
##オートローダーの改善点アプリケーションを運用環境にデプロイする準備ができたら、最適化されていることを確認してください。 Composer クラスのオートローディング マッピング。これにより、Composer は特定のクラスをロードするための正しいローディング ファイルをすぐに見つけることができます。composer install --optimize-autoloader --no-dev
ヒント: オートローダーの最適化に加えて、以下も必ず含める必要があります。プロジェクト リポジトリ内のcomposer.lock
ファイル。プロジェクト コードに
composer.lockファイルがあると、プロジェクトに必要な依存関係をより速くインストールできます。
アプリケーションを運用環境にデプロイするときは、# を実行する必要があります。 ##config:cache
デプロイメント中のアーティザン コマンド:php artisan config:cache
このコマンドは、すべての Laravel 設定ファイルをキャッシュ ファイルにマージし、フレームワークが設定値をロードする時間を大幅に短縮します。ファイルシステムにアクセスする必要があります。
{note} デプロイ中に
config:cacheコマンドを実行する場合は、設定ファイルからルート読み込みの最適化 多くのルートを持つ大規模なアプリケーションを構築する場合は、次のことを行う必要があります。デプロイ中に必ずenv
関数のみを呼び出すようにしてください。 。構成がキャッシュされると、
.envファイルはロードされず、
env関数へのすべての呼び出しは
nullを返します。
route:cache
Artisan コマンドを実行してください:php artisan route:cache
このコマンドは、すべてのルート登録をキャッシュ ファイル内の 1 つのメソッド呼び出しに減らすため、数百のルート登録が行われます。ルーティング時のルート登録のパフォーマンス。
{note} この機能は PHP シリアル化を使用するため、特にコントローラーベースのルーティングを使用するアプリケーション ルートのみをキャッシュできます。 PHP はクロージャ ルートをシリアル化できません。
Forge を使用したデプロイ独自のサーバー構成を管理する準備ができていない場合、またはそうでない場合強力な Laravel アプリケーションを実行するために必要なさまざまなサービスの構成に慣れている場合は、Laravel Forge が適しています。 Laravel Forge は、さまざまなインフラストラクチャプロバイダー (DigitalOcean、Linode、AWS など) 上にサーバーを作成できます。さらに、Forge は、Nginx、MySQL、Redis、Memcached、Beanstalk など、強力な Laravel アプリケーションを構築するために必要なすべてのツールをインストールして管理します。 この記事は、
LearnKu.com
Web サイトで初めて公開されました。