نسخه:

گسترش

معرفی

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

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

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;
}
}

بهينه سازي

بهینه سازی Autoloader

هنگام استقرار در تولید، مطمئن شوید که نقشه بارگذاری خودکار کلاس 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 استفاده می‌کند، می‌توانید مسیرها را فقط برای برنامه‌هایی که منحصراً از مسیرهای مبتنی بر کنترلر استفاده می‌کنند، کش کنید. پی اچ پی قادر به سریال بستن بسته ها نیست.

استقرار با Forge

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

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