Laravel Horizon | V produkci Pomocí Supervisora

  • před 5 měsíci
  • 4 min čtení
  • 614 počet slov

Laravel Horizon

Nástroj, který vám poskytne dokonalý přehled a kontrolu nad vašimi Redis frontami v Laravelu, Laravel Horizon je přesně to, co potřebujete pro správu queue!

 

Úvod

Laravel Horizon je elegantní dashboard a konfigurační systém pro správu Redis queue v Laravelu. Umožňuje snadno monitorovat klíčové ukazatele výkonu, sledovat stav front, zobrazuje podrobné informace o jednotlivých úlohách a nabízí přehledné grafy a statistiky pro efektivní správu úkolů na pozadí.

Potřebné věci

  • Redis
  • Ubuntu
  • Composer
  • Supervisor - odkaz zde

 

Krok 1 - Instalace Redis

Napřed si nainstalujeme Redis na Ubuntu systém

curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

sudo apt-get update 
sudo apt-get install redis


Nyní zkontrolujeme stav Redisu, který by měl být úspěšně nainstalovaný.

systemctl status redis
Systemctl status redis

 

Krok 2 - Instalace a nastavení Horizonu

 

Vlezeme do Laravel projektu a pomocí Composeru nainstalujeme Laravel Horizon

composer require laravel/horizon

 

Instalace konfiguračních souborů

php artisan horizon:install

 

Nutné provést migraci kvůli novým tabulkám v databázi

php artisan migrate

 

Pro otestování můžeme napsat

php artisan horizon

 

Nastavení .env.

.....
QUEUE_CONNECTION=redis
.....
 

Krok 3 - Spuštění na pozadí - Supervisor

Vytvoříme nový konfigurační soubor pro nastavení Supervisora

nano /etc/supervisor/conf.d/horizon_conf

[program:horizon]
process_name=%(program_name)s
command=php /var/www/html/artisan horizon
autostart=true
autorestart=true
user=www-data
redirect_stderr=true
stdout_logfile=/var/www/html/storage/logs/horizon.log
stderr_logfile=/var/www/html/storage/logs/horizon.log

 

Poté restartneme Supervisora a "lokální" Laravel Horizon je připraven !

sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start horizon

 

Krok 4 - Nastavení pro produkci

Abyste měli přístup k Horizonu, tak musíte nastavit Gate oprávnění v souboru AuthServiceProvider.php

 
use App\Models\User;
use Illuminate\Support\Facades\Gate;

public function boot(): void
{
    ...
     
    Gate::define('viewHorizon', fn (User $user) => in_array($user->email, [
        'info@ludwigtomas.cz',
        'test_1@seznam.cz',
        'test_2@seznam.cz',
    ]));

    ...
}

Pouze tihle uživatelé s emaily budou mít přístup k Horizon dashboardu.

Krok 5 - Přehled Dashboardu

Vstup do přehledu queue většinou bývá ".../url/horizon".

Přesné URL do dashboardu lze zjistit pomocí příkazu: 

php artisan route:list --name="horizon"

 

Závěr

Tímto postupem byste měli být schopni úspěšně přidat a spustit Laravel Horizon ve vašem Laravel projektu. Horizon poskytuje výkonné nástroje pro správu a monitorování vašich front a úloh, což vám umožní snadno sledovat výkon a optimalizovat vaše aplikace.

 

Pokud máte jakékoliv dotazy nebo připomínky, neváhejte mi napsat!

Pojďme se sejít !

📱 +420 730 681 670

✉ info@ludwigtomas.cz

🖥️ Web - Kontakty

Další informace

před 5 měsíci přidáno

212 počet návštěv

614 počet slov

4 minut čtení

Další nabízené blogy

SEO: základní optimalizace webu

před 4 měsíci

211

2345

SEO: základní optimalizace webu

Laravel - nejpopulárnější PHP framework

před 11 měsíci

242

1805

Laravel - nejpopulárnější PHP framework

Laravel - Automatizace procesů s CRONem a CRONTABem

před 9 měsíci

198

937

Laravel - Automatizace procesů s CRONem a CRONTABem

VPS - Deploy Laravel 11 application on Ubuntu 24

před 11 měsíci

219

1060

VPS - Deploy Laravel 11 application on Ubuntu 24