Nasadenie Laravel aplikácie cez SSH krok za krokom
Nasadenie Laravel aplikácie
Tento návod popisuje ručné nasadenie Laravel aplikácie cez SSH. Ak vám stačí nasadenie z prehliadača bez vlastného SSH klienta, pozrite si záložku Nasadenia a Rýchle akcie – klonovanie, pull aj bežné artisan príkazy zvládnu priamo v paneli.
Predpoklady
- Hosting so zapnutým SSH prístupom
- Git repozitár s Laravel aplikáciou (verejný, alebo súkromný s pridaným deploy kľúčom)
- Databáza vytvorená v Správe databáz v paneli
Krok 1: Pripojte sa cez SSH
Prihlasovacie údaje a pripravený príkaz na pripojenie nájdete v paneli pri hostingu v záložke Služby v paneli SSH prístup (meno, heslo, host aj port).
ssh vas_pouzivatel@host -p PORT
Krok 2: Pridajte deploy kľúč (súkromný repozitár)
Ak je repozitár súkromný, vygenerujte deploy kľúč v záložke Nasadenia (Vývoj → Nasadenia → Kľúč nasadenia) a pridajte ho medzi deploy kľúče repozitára. Verejný repozitár tento krok nepotrebuje.
Krok 3: Naklonujte repozitár
cd /var/www/html
git clone git@github.com:vas-ucet/vas-projekt.git .
Krok 4: Nainštalujte PHP závislosti
composer install --optimize-autoloader --no-dev
Krok 5: Nainštalujte JavaScript závislosti a zostavte frontend
npm install
npm run build
Krok 6: Nakonfigurujte .env
cp .env.example .env
Prihlasovacie údaje k databáze si skopírujte priamo z panelu: hosting → záložka Služby → MySQL prístup → blok „Laravel .env (interné)“ má tlačidlo na skopírovanie celého bloku. Interný host (pole Host v časti „Interné pripojenie“) je zvyčajne mysql, nie localhost – aplikácia beží v tom istom prostredí ako web, ale databáza beží samostatne v tej istej sieti.
APP_ENV=production
APP_DEBUG=false
APP_URL=https://vasa-domena.sk
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=vasa_databaza
DB_USERNAME=vas_databazovy_pouzivatel
DB_PASSWORD=vase_heslo
Krok 7: Vygenerujte aplikačný kľúč
php artisan key:generate
Krok 8: Spustite migrácie
php artisan migrate --force
Krok 9: Vytvorte symbolický odkaz pre storage
php artisan storage:link
Krok 10: Optimalizujte pre produkciu
php artisan config:cache
php artisan route:cache
php artisan view:cache
Krok 11: Opravte oprávnenia
fix_permissions
Podrobnosti o tomto príkaze v Oprava oprávnení súborov.
Aktualizácia aplikácie
Pri ďalších nasadeniach opakujte len relevantné kroky:
cd /var/www/html
git pull origin main
composer install --optimize-autoloader --no-dev
npm install && npm run build
php artisan migrate --force
php artisan config:cache
php artisan route:cache
php artisan view:cache
fix_storage
Plánovač (scheduler)
Ak aplikácia používa Laravel plánovač úloh, máte dve možnosti bez potreby vlastného cronu na serveri:
- Vývoj → Cron úlohy: pridajte úlohu s príkazom
php artisan schedule:run, pracovným adresárom nastaveným na koreň aplikácie (napr./var/www/html) a plánom* * * * *(každú minútu). Pozri Cron úlohy. - Vývoj → Supervisor úlohy: šablóna „Laravel Scheduler“ spustí
php artisan schedule:workako trvalo bežiaci proces, ktorý sám dohliada na minútové spúšťanie – cron záznam netreba. Pozri Procesy na pozadí.
Queue workery
Ak aplikácia spracúva joby cez frontu, pridajte v Vývoj → Supervisor úlohy šablónu Laravel Queue Worker (php artisan queue:work --sleep=3 --tries=3), prípadne Laravel Horizon, ak ho aplikácia používa. Supervisor úloha beží ako trvalý proces a sama sa reštartuje pri páde. Pozri Procesy na pozadí.
Bol tento článok užitočný?
Vaša spätná väzba nám pomáha zlepšovať dokumentáciu