Produkcia a nasadenie
Priprav hodnoty prostredia, nechaj Lemonade využiť produkčnú config cache a nasadzuj iba artefakty, ktoré runtime skutočne potrebuje.
Produkčný režim začína prostredím
Produkčné správanie riadia hlavne APP_ENV, APP_DEBUG a aplikačné hodnoty ako APP_BASE_URL. development a testing načítavajú konfiguráciu priamo zo zdrojov. production, prod a ďalšie nevývojové režimy sa správajú ako produkčný runtime a môžu používať kompilovanú config cache.
APP_ENV=production
APP_DEBUG=0
APP_BASE_URL=https://example.comAko funguje kompilovaná config cache
YAML súbory aj vyhodnotené hodnoty z prostredia zostávajú zdrojom pravdy. V produkčnom režime najskôr ConfigLoader skúsi ApplicationConfigCache::loadIfFresh(). Ak cache chýba, je zastaraná alebo sa zmenil sledovaný zdroj, framework načíta konfiguráciu znova a čerstvú cache zapíše automaticky. Samostatné commandy config:cache ani config:clear momentálne nie sú potrebné.
production HTTP request or CLI command
-> ConfigLoader::loadApplication(...)
-> ApplicationConfigCache::loadIfFresh(...)
-> on cache miss: load source config and write a fresh compiled cacheZapisovateľné runtime adresáre
Nasadená aplikácia potrebuje zapisovať do storage/ kvôli kompilovanej config cache, logom, session a uploadom, ak sú tieto časti zapnuté. Generované súbory nechaj pod storage/, necommituj ich a nepovažuj ich za zdroj pravdy.
storage/cache/framework/config/
storage/logs/
storage/sessions/
storage/uploads/Praktický checklist pre nasadenie
- Pred nasadením: priprav hodnoty prostredia a secrets, nasaď YAML konfiguráciu a vytvor optimalizovaný Composer autoload.
- Počas nasadenia: nahraj kód a over zapisovateľné adresáre pod
storage/. - Po nasadení: nechaj prvý produkčný HTTP request alebo CLI command vytvoriť config cache, over logovanie a spúšťaj
vendor/bin/lemonadeworkery alebo plánované commandy iba vtedy, keď ich aplikácia skutočne používa. - Detaily runtime úložiska nájdeš v Infrastruktúre a diagnostiku v sekcii Chyby a ladenie.
composer install --no-dev --optimize-autoloader
vendor/bin/lemonade about
# Optional when the app uses queue workers
vendor/bin/lemonade queue:install
vendor/bin/lemonade queue:work default database