Návod

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.

example.php
APP_ENV=production
APP_DEBUG=0
APP_BASE_URL=https://example.com

Ako 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é.

example.php
production HTTP request or CLI command
-> ConfigLoader::loadApplication(...)
-> ApplicationConfigCache::loadIfFresh(...)
-> on cache miss: load source config and write a fresh compiled cache

Zapisovateľ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.

example.php
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/lemonade workery 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.
example.php
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