Pake docker udah paling the best aslinya, tapi ada cara lain ga sih? Cara ini buat yang ga mau ribet setting segala macem, yang penting aplikasi bisa running. Cara yang pernah saya pake adalah menggunakan screen, supervisor dan pm2. Saya bahas satu-persatu cara penggunaan dan kekurangannya.

1. Menggunakan screen

Caranya:

  1. Ketik screen -r,
  2. running aplikasi nya pake npm start lalu
  3. ctrl+a+d buat keluar dari screen

** Kekurangan**, ga ada log. Aplikasi jalan terus, kalau screen di stop log hilang


2. Menggunakan supervisor

Caranya.

  1. Buat .conf di /etc/supervisor/conf.d/cool-aps.conf
  2. Isi Dengan
[program:cool-nodejs-app]
user=mimin
autorestart=true
autostart=true
redirect_stderr=true
command=npm start
directory=/home/mimin/app/cool-nodejs-app/
stdout_logfile=/var/log/cool-nodejs-app/api.out.log
stderr_logfile=/var/log/cool-nodejs-app/api.err.log
  1. Buat folder log mkdir -p /var/log/cool-nodejs-app
  2. Lakukan supervisorctl reread && supervisorctl update agar cool-aps.conf terbaca
  3. Untuk rotasi log nya, buat file baru di /etc/logrotate.d/cool-nodejs-app
/var/log/cool-nodejs-app/*.log {
        weekly
        rotate 3
        compress
        delaycompress
        create 0640 mimin mimingroup
        dateext
        notifempty
        missingok
}
  1. service logrotate restart agar config yang baru bisa terbaca
  2. Silahkan cek live log nya dengan tail -f /var/log/cool-nodejs-app/api.out.log

Kekurangan:, agak ribet. Kudu buat .conf, setup logrotate, buat folder log, dsb. Tapi kalau udah pernah buat mah gampang, tinggal copy aja


3. Menggunakan pm2

Caranya.

  1. Agak tricky buat yang install nodejs pake nvm. Bisa baca fix sudo npm command not found & pm2. Kalau masih ga bisa, jalankan npm install -g pm2
  2. Lalu jalannkan pm2 index.js
    Keren Juga si pm2

    Keren Juga si pm2

Kekurangan, rotasi log masih kudu setup manual juga.


Overall, buat saya juaranya adalah pm2 karena selain gampang, tampilan status nya “cantik”, bisa juga nambah instance!