Bagian 5 β Deploy Aplikasi Web Β· Langkah 22 dari 38
Peta Mental: Deploy per Bahasa
Tabel ringkas yang menjawab 'bahasa X pakai apa?' tanpa perlu googling panik.
Satu tabel untuk menyatukan semuanya
Ini jawaban yang akan terus kamu cari di tahun pertama: 'kalau bahasa/framework ini, deploy-nya gimana?' Polanya selalu dua pertanyaan: (1) apakah hasil jadinya proses long-running atau dipanggil per-request? (2) siapa yang menjaganya hidup?
| Stack | Jenis | Penjaga proses | Reverse proxy? | Bukti jalan |
|---|---|---|---|---|
| Node.js / Next.js | Runtime-based, 1 proses long-running | PM2 (paling simpel) atau systemd | Ya β app di 3000, nginx di 80 | pm2 list / systemctl status |
| PHP (native/Laravel) | Per-request via FastCGI | php-fpm (sudah process manager sendiri) di bawah nginx | nginx adalah web server-nya langsung | systemctl status php8.x-fpm |
| Go | Compiled, biner tunggal long-running | systemd (unit file) | Ya β biner di 8080, nginx di 80 | systemctl status myapp + journalctl |
| Python Flask/FastAPI | Runtime-based via WSGI/ASGI | gunicorn/uvicorn DI BAWAH systemd | Ya | systemctl status + journalctl -u |
Satu kalimat per baris, dihafal sebagai pola, bukan isi: runtime-based β butuh runtime di server; compiled β cukup copy biner; per-request (PHP) β web server yang memanggil per request; long-running β butuh process manager.
β Tanda berhasil β centang kalau sudah kamu lihat/buktikan sendiri
Tombol βlanjutβ terbuka setelah semua tercentang β bukan hukuman, tapi jaring pengaman: pastikan step ini benar-benar beres sebelum menumpuk step berikutnya di atasnya.