Logo

~/saidqb cat wiki/note/TIL/2026-08.md

MD2026-08.md

commit by saidqb

TIL — Today I Learned (Agustus 2026)

Kumpulan catatan singkat hal-hal yang saya pelajari dari kerjaan sehari-hari — kebanyakan seputar Nginx, Laravel, dan Python. Bulan sebelumnya ada di 01.TIL/2026-07.md.

2026-08-14 — Nginx: reverse proxy Laravel & FastAPI dalam satu domain

Kadang satu service butuh Laravel buat sisi admin/web, tapi ada juga service Python (FastAPI) buat API kecil yang lebih cocok di Python. Solusinya cuma butuh satu server block, di-split pakai prefix path:

server {
    listen 80;
    server_name app.example.com;
    root /var/www/app/public;

    # request ke /api/py/... diteruskan ke FastAPI
    location /api/py/ {
        proxy_pass http://127.0.0.1:8000/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }

    # selain itu, biarkan Laravel yang tangani
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
}

Urutan location penting — yang lebih spesifik (/api/py/) harus ada supaya tidak "ketelan" sama location / punya Laravel.

2026-08-08 — Laravel: queue worker tidak otomatis pakai kode baru

Setelah deploy (git pull + composer install), ada bug yang katanya "sudah diperbaiki" tapi masih muncul di production. Ternyata php artisan queue:work itu proses PHP yang jalan lama (long-running) — class-nya sudah di-load ke memori sejak worker pertama kali start, jadi perubahan kode baru tidak otomatis kepakai sampai worker-nya di-restart.

php artisan queue:restart

Sekarang selalu saya taruh command ini di akhir script deploy, sebelum queue:work lanjut jalan lagi (biasanya di-manage Supervisor jadi auto-restart otomatis).


Catatan di atas beneran ditulis berdasarkan hal yang biasa ketemu di kerjaan sehari-hari — kalau ada yang mau ditambah/dikoreksi, tinggal edit file ini di src/content/wiki/note/01.TIL/2026-08.md. Mulai bulan baru, catatan lanjut di file terpisah (misal 2026-09.md), bukan numpuk di file yang sama.