نسخه:

گسترش

معرفی

هنگامی که آماده استقرار برنامه لاراول خود برای تولید هستید، کارهای مهمی وجود دارد که می توانید انجام دهید تا مطمئن شوید برنامه شما تا حد امکان کارآمد اجرا می شود. در این سند، ما چند نقطه شروع عالی را برای اطمینان از اینکه برنامه لاراول شما به درستی اجرا شده است، پوشش خواهیم داد.

پیکربندی سرور

Nginx

اگر برنامه خود را روی سروری که Nginx اجرا می کند، مستقر می کنید، می توانید از فایل پیکربندی زیر به عنوان نقطه شروع برای پیکربندی وب سرور خود استفاده کنید. به احتمال زیاد، این فایل باید بسته به پیکربندی سرور شما شخصی سازی شود. اگر می خواهید در مدیریت سرور خود کمک بگیرید، از سرویسی مانند Laravel Forge استفاده کنید :

server {
listen 80;
server_name example.com;
root /srv/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.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.4-fpm.sock;
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 دستور Artisan را در طول فرآیند استقرار خود اجرا می کنید:

php artisan config:cache

این دستور همه فایل‌های پیکربندی لاراول را در یک فایل ذخیره‌شده واحد ترکیب می‌کند، که تعداد سفرهایی را که چارچوب باید هنگام بارگذاری مقادیر پیکربندی شما به سیستم فایل انجام دهد، به شدت کاهش می‌دهد.

اگر فرمان را در طول فرآیند استقرار خود اجرا می کنید config:cache ، باید مطمئن باشید که env تابع را فقط از داخل فایل های پیکربندی خود فراخوانی می کنید. هنگامی که پیکربندی کش شد، .env فایل بارگیری نمی‌شود و همه تماس‌های تابع env برمی‌گردند null .

بهینه سازی بارگذاری مسیر

اگر در حال ساخت یک برنامه بزرگ با مسیرهای زیاد هستید، باید مطمئن شوید که route:cache دستور Artisan را در طول فرآیند استقرار خود اجرا می کنید:

php artisan route:cache

این دستور همه ثبت مسیرهای شما را به یک فراخوانی روش واحد در یک فایل کش کاهش می دهد و عملکرد ثبت مسیر را هنگام ثبت صدها مسیر بهبود می بخشد.

از آنجایی که این ویژگی از سریال‌سازی PHP استفاده می‌کند، می‌توانید مسیرها را فقط برای برنامه‌هایی که منحصراً از مسیرهای مبتنی بر کنترلر استفاده می‌کنند، کش کنید. پی اچ پی قادر به سریال بستن بسته ها نیست.

بهینه سازی بارگذاری نمایش

هنگام استقرار برنامه خود در تولید، باید مطمئن شوید که view:cache دستور Artisan را در طول فرآیند استقرار خود اجرا می کنید:

php artisan view:cache

این دستور همه نماهای Blade شما را از قبل کامپایل می کند تا در صورت تقاضا کامپایل نشوند و عملکرد هر درخواستی را که یک View را برمی گرداند بهبود می بخشد.

استقرار با Forge / Vapor

اگر برای مدیریت پیکربندی سرور خود کاملاً آماده نیستید یا با پیکربندی همه سرویس های مختلف مورد نیاز برای اجرای یک برنامه قوی لاراول راحت نیستید، Laravel Forge یک جایگزین فوق العاده است.

Laravel Forge می تواند سرورهایی را در ارائه دهندگان زیرساخت های مختلف مانند DigitalOcean، Linode، AWS و غیره ایجاد کند. علاوه بر این، Forge تمام ابزارهای مورد نیاز برای ساخت برنامه های لاراول قوی مانند Nginx، MySQL، Redis، Memcached، Beanstalk و غیره را نصب و مدیریت می کند.

بخار لاراول

اگر می‌خواهید یک پلتفرم استقرار کاملاً بدون سرور و مقیاس‌پذیر خودکار برای لاراول تنظیم شده باشد، Laravel Vapor را بررسی کنید . Laravel Vapor یک پلت فرم استقرار بدون سرور برای لاراول است که توسط AWS پشتیبانی می شود. زیرساخت لاراول خود را در Vapor راه اندازی کنید و عاشق سادگی مقیاس پذیر بدون سرور شوید. Laravel Vapor توسط سازندگان لاراول به‌خوبی تنظیم شده است تا به‌طور یکپارچه با چارچوب کار کند تا بتوانید برنامه‌های لاراول خود را دقیقاً همانطور که عادت کرده‌اید بنویسید.