مقدمه
هنگامی که شما آماده توسعه برنامه Laravel خود هستید ، موارد مهمی وجود دارد که می توانید برای اطمینان از کارایی هرچه بیشتر برنامه، انجام دهید. در این مقاله آموزش لاراول، برای اطمینان از اجرای صحیح برنامه Laravel شما ، نقاط شروع بسیار خوبی را پوشش خواهیم داد.
پیکربندی سرور
Nginx
اگر برنامه خود را در سرور Nginx مستقر می کنید ، می توانید از فایل پیکربندی زیر به عنوان نقطه شروع برای تنظیمات وب سرور خود استفاده کنید. به احتمال زیاد بسته به پیکربندی سرور شما باید این فایل customized شود. اگر میخواهید در مدیریت سرور خود کمک کنید ، از خدماتی مانند 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 Optimization
هنگام deploy برنامه ، اطمینان حاصل کنید که در حال بهینه سازی Composer's class autoloader هستید تا کامپوزر بتواند به سرعت فایل مناسب را برای لود یک کلاس خاص پیدا کند:
composer install --optimize-autoloader --no-dev
نکته: علاوه بر بهینه سازی autoloader ، شما باید همیشه یک فایل composer.lock را در ریپازیتوری source control پروژه خود داشته باشید. وابستگی های پروژه شما می تواند خیلی سریعتر در هنگام وجود یک فایل composer.lock نصب شود.
بهینه سازی Configuration Loading
هنگام استقرار برنامه خود ، باید اطمینان حاصل کنید که دستور پیکربندیconfig:cache
Artisan: را در طی مراحل deploy خود اجرا می کنید:
php artisan config:cache
این دستور کلیه فایل های پیکربندی لاراول را در یک کش فایل ترکیب می کند ، که باعث می شود تعداد trip هایی که فریم ورک باید هنگام لودینگ مقادیر پیکربندی شما برایfilesystem انجام دهد ، کاهش یابد.
توجه: اگر دستور config:cache را در طی مراحل استقرار اجرا می کنید ، باید اطمینان داشته باشید که فقط از درون فایل های پیکربندی خود ، تابع env را فراخوانی می کنید. پس از کش شدن پیکربندی ، فایل .env لود نمی شود و همه فراخوانی ها به تابع env مقدار null برمیگرداند.
بهینه سازی Route Loading
اگر در حال build کردن یک برنامه بزرگ با route های زیاد هستید ، باید اطمینان حاصل کنید که دستور route:cache
Artisan را در طی مراحل استقرار خود اجرا میکنید:
php artisan route:cache
این دستور تمام رجیسترهای route شما را با یک متد فراخوانی با یک کش فایل کاهش می دهد و عملکرد رجیستر route را هنگام رجیستر صدها route بهبود می بخشد.
توجه: از آنجا که این ویژگی از PHP serialization استفاده می کند ، شما فقط می توانید route هایی را برای برنامه هایی که منحصراً از route های مبتنی بر کنترلر استفاده می کنند ، کش کنید. PHP قادر به serialize Closures نیست.
بهینه سازی View Loading
هنگام deploy برنامه خود ، باید اطمینان حاصل کنید که در طی مراحل استقرار دستور view:cache Artisan را اجرا می کنید :
php artisan view:cache
این دستور کلیه Blade view های شما را precompile می کند ، بنابراین در صورت تقاضا کامپایل نمی شوند و باعث بهبود عملکرد هر ریکوئستی که view را باز می گرداند می شود.
استقرار با Forge
اگر آماده مدیریت پیکربندی سرور خود نیستید و یا با پیکربندی سرویس های مختلف راحت نیستید ، Laravel Forge یک جایگزین عالی است.
Laravel Forge می تواند در زیرساخت های مختلف مانند DigitalOcean ، Linode ، AWS و موارد دیگر سرور ایجاد کند. علاوه بر این ، Forge تمام ابزارهای مورد نیاز برای ساخت برنامه های قوی Laravel مانند Nginx ، MySQL ، Redis ، Memcached ، Beanstalk و موارد دیگر را نصب و مدیریت می کند.
امیدواریم از این مقاله آموزش لاراول استفاده کرده باشید.