DEV Community

Fega Suseno
Fega Suseno

Posted on

Running App Using Supervisorctl

Apa itu Supervisor?

Supervisor adalah program yang berjalan sebagai daemon dan bertugas memantau serta mengelola proses-proses lain agar tetap berjalan. Jika suatu proses mati/crash, Supervisor bisa otomatis me-restart-nya.

Apa perbedaan dengan daemon?

Berbeda dengan daemon, supervisor adalah salah satu cara membuat proses berjalan seperti daemon — jadi keduanya bukan pilihan yang saling berlawanan, melainkan berbeda level.

Kapan pakai Supervisor?

  • Kamu kelola banyak worker/proses sekaligus (misal 5 Celery worker)
  • Tim developer perlu restart/stop proses tanpa akses root
  • Ingin konfigurasi yang lebih simpel dibanding systemd

Kapan pakai Systemd (daemon)?

  • Server production serius — systemd lebih robust dan terintegrasi dengan OS
  • Butuh proses jalan sejak boot paling awal
  • Sudah familiar dengan Linux system administration

Tutorial Setup Supervisorctl

Install supervisor

apt install supervisor
Enter fullscreen mode Exit fullscreen mode

Setup aplikasi yang ingin di eksekusi misal WebApp, copy dulu ke /usr/local/bin

cp WebApp /usr/local/bin/
Enter fullscreen mode Exit fullscreen mode

Buat config supervisor

nano /etc/supervisor/conf.d/webapp.conf
Enter fullscreen mode Exit fullscreen mode

isi config

[program:webapp]
command=/usr/local/bin/webapp
user=www-data
autostart=true
autorestart=true

stdout_logfile=/var/log/supervisor/webapp.log
stdout_logfile_maxbytes=50MB    ; ukuran max sebelum rotate
stdout_logfile_backups=3        ; jumlah file backup yang disimpan

stderr_logfile=/var/log/supervisor/webapp_error.log
stderr_logfile_maxbytes=50MB
stderr_logfile_backups=3

Enter fullscreen mode Exit fullscreen mode

reload konfigurasi

supervisorctl reread
supervisorctl update
Enter fullscreen mode Exit fullscreen mode

Jalankan programnya

supervisorctl start webapp
Enter fullscreen mode Exit fullscreen mode

pastikan statusnya running

supervisorctl status webapp
Enter fullscreen mode Exit fullscreen mode

Perintahnya hampir mirip denga systemctl.
Ok sampai disini, semoga bermanfaat dan selamat mencoba

Top comments (0)