Produkce a nasazení
Připrav hodnoty prostředí, nech Lemonade využít produkční config cache a nasazuj jen artefakty, které runtime skutečně potřebuje.
Produkční režim začíná prostředím
Produkční chování řídí hlavně APP_ENV, APP_DEBUG a aplikační hodnoty jako APP_BASE_URL. development a testing načítají konfiguraci přímo ze zdrojů. production, prod a další ne-vývojové režimy se chovají jako produkční runtime a mohou používat kompilovanou config cache.
APP_ENV=production
APP_DEBUG=0
APP_BASE_URL=https://example.comJak funguje kompilovaná config cache
YAML soubory i vyhodnocené hodnoty z prostředí zůstávají zdrojem pravdy. V produkčním režimu nejdřív ConfigLoader zkusí ApplicationConfigCache::loadIfFresh(). Pokud cache chybí, je zastaralá nebo se změnil sledovaný zdroj, framework načte konfiguraci znovu a čerstvou cache zapíše automaticky. Samostatné příkazy config:cache ani config:clear aktuálně nejsou potřeba.
production HTTP request or CLI command
-> ConfigLoader::loadApplication(...)
-> ApplicationConfigCache::loadIfFresh(...)
-> on cache miss: load source config and write a fresh compiled cacheZapisovatelné adresáře runtime
Nasazená aplikace potřebuje zapisovat do storage/ pro kompilovanou config cache, logy, session a uploady, pokud jsou tyto části zapnuté. Generované soubory nech pod storage/, necommituj je a nepovažuj je za zdroj pravdy.
storage/cache/framework/config/
storage/logs/
storage/sessions/
storage/uploads/Praktický checklist pro nasazení
- Před nasazením: připrav hodnoty prostředí a secrets, nasaď YAML konfiguraci a vytvoř optimalizovaný Composer autoload.
- Během nasazení: nahraj kód a ověř zapisovatelné adresáře pod
storage/. - Po nasazení: nech první produkční HTTP request nebo CLI command vytvořit config cache, ověř logování a spouštěj
vendor/bin/lemonadeworkery nebo plánované commandy jen tehdy, když je aplikace opravdu používá. - Detaily runtime úložiště najdeš v Infrastruktuře a diagnostiku v sekci Chyby a ladění.
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