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ı.
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.jsonfaylındakıphptə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.jsonfaylındabuildskripti (Vite) varsa, o icra olunur vəpublic/buildqovluğ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ənhttps://ünvanlarından istifadə edir.
Sizin üçün təyin olunan dəyişənlər
| Dəyişən | Dəyər |
|---|---|
APP_KEY | ilk yerləşdirmədə bir dəfə yaradılır və dəyişənlərinizlə birlikdə saxlanılır |
APP_ENV | production |
APP_DEBUG | false |
APP_URL | tətbiqin ünvanı |
LOG_CHANNEL | stderr — beləliklə, Jurnal bölməsi Laravel-in jurnalını göstərir |
SESSION_DRIVER, CACHE_STORE | file |
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 prosesi | php artisan queue:work --sleep=3 --tries=3 --max-time=3600 |
| Hər dəqiqə icra olunan planlaşdırılmış əmr | php 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=redisREDIS_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.