Laravel tətbiqləri.

Laravel layihəsinin hazır şəkildə aldıqları: APP_KEY və istehsal parametrləri, verilənlər bazası əlavə edilənədək SQLite, buraxılış əmri kimi miqrasiyalar, növbə prosesi və planlaşdırıcı.

3 DƏQ OXUMA

Laravel composer.json faylındakı laravel/framework paketinə görə tanınır. Onu olduğu kimi yerləşdirirsiniz — server konfiqurasiyası və repozitoriyada əlavə fayllar lazım deyil.

Necə yığılır və işə salınır

  • PHP — composer.json faylındakı php tələbinə uyğun gələn 8.2, 8.3 və 8.4 versiyalarından ən aşağısı (tələb göstərilməyibsə, 8.3).
  • Composer — composer install --no-dev --optimize-autoloader.
  • Front-end resursları — package.json faylında build skripti (Vite) varsa, o icra olunur və public/build qovluğu daxil edilir.
  • İşə salınarkən — storage:link, sonra konfiqurasiya, marşrut və görünüş keşləri yaradılır.
  • HTTPS — tətbiqiniz HTTPS sorğularını təhlükəsiz kimi qəbul edir, ona görə url(), asset() və yönləndirmələr proksiləri özünüz etibarlı kimi təyin etmədən https:// ünvanlarından istifadə edir.

Sizin üçün təyin olunan dəyişənlər

DəyişənDəyər
APP_KEYilk yerləşdirmədə bir dəfə yaradılır və dəyişənlərinizlə birlikdə saxlanılır
APP_ENVproduction
APP_DEBUGfalse
APP_URLtətbiqin ünvanı
LOG_CHANNELstderr — beləliklə, Jurnal bölməsi Laravel-in jurnalını göstərir
SESSION_DRIVER, CACHE_STOREfile

Onların istənilən birini eyni adlı öz dəyişəninizlə əvəz etmək olar — məsələn, Valkey əlavə etdikdən sonra SESSION_DRIVER=redis. Ətraflı: Mühit dəyişənləri.

Verilənlər bazası: əvvəlcə SQLite

Verilənlər bazası olmayan yeni Laravel tətbiqi məlumatlarını SQLite-da — Laravel-in öz standart seçimində — tətbiqin diskindəki storage/app/database.sqlite faylında saxlayır. Fayl yerləşdirmələr zamanı saxlanılır və tətbiqin gündəlik ehtiyat nüsxələrinə daxildir, ona görə əvvəlcə tətbiqi işə salıb, verilənlər bazası barədə qərarı sonra verə bilərsiniz.

Layihəyə PostgreSQL və ya MySQL əlavə etdikdə (İcmal → Servislər → Servis əlavə et) tətbiq növbəti yerləşdirmədə ona keçir və miqrasiyalar orada icra olunur. SQLite faylındakı məlumatlar köçürülmür — lazımdırsa, əvvəlcə onları ixrac edin və verilənlər bazasının Məlumatlar bölməsində idxal edin. Ətraflı: Verilənlər bazaları.

Miqrasiyalar — buraxılış əmri

Tövsiyə olunan buraxılış əmri php artisan migrate --force əmridir. O, hər yerləşdirmədə, yeni versiya ziyarətçiləri qəbul etməzdən əvvəl bir dəfə icra olunur; miqrasiya uğursuz olarsa, cari versiya işləməyə davam edir. Onu Proseslər bölməsində dəyişə bilərsiniz. Ətraflı: Yerləşdirmələr.

Növbə prosesi və planlaşdırıcı

Proseslər bölməsində standart olaraq bunlar işləyir:

NədirƏmr
«queue» fon prosesiphp artisan queue:work --sleep=3 --tries=3 --max-time=3600
Hər dəqiqə icra olunan planlaşdırılmış əmrphp artisan schedule:run

Onlar tətbiqin resurslarını bölüşür və hər yerləşdirmədə yenidən başladılır. Onları Proseslər bölməsində dəyişin və ya silin — məsələn, Horizon-dan Valkey ilə istifadə edirsinizsə, prosesi php artisan horizon ilə əvəz edin.

Ağır növbə üçün prosesi öz resursları olan ayrıca fon prosesi servisi kimi işlədin və onu Proseslər bölməsindən silin. Ətraflı: Layihənin servisləri.

Keş, sessiyalar və növbələr üçün Valkey

Layihəyə Valkey əlavə edin və Dəyişənlər bölməsində lazım olan drayverləri təyin edin, məsələn:

CACHE_STORE=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis

REDIS_HOST, REDIS_PASSWORD, REDIS_PORT və REDIS_CLIENT=phpredis Sizin üçün təyin olunur.

WebSocket (Laravel Reverb)

Reverb-i bu layihənin kodundan php artisan reverb:start --host=0.0.0.0 --port=$PORT əmri ilə veb servis kimi işə salın. O, öz ünvanını alır.

Fayllar və yükləmələr

storage/app qovluğundakı fayllar — Laravel-in local və public diskləri — yerləşdirmələr arasında tətbiqin diskində qalır və hər gün ehtiyat nüsxəyə alınır. Layihə qovluğundakı digər fayllar hər yerləşdirmədə repozitoriyadan yenidən götürülür. Çox sayda və ya böyük fayllar üçün Laravel-in s3 diski ilə obyekt yaddaşından istifadə edin.

Daha sualınız varmı?

Canlı dəstəklə əlaqə saxlayın — günün istənilən vaxtı 3 dəqiqədən az median cavab müddəti.

Dəstəklə əlaqə