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:
- Ketik
screen -r
, - running aplikasi nya pake
npm start
lalu ctrl+a+d
buat keluar dari screen
** Kekurangan**, ga ada log. Aplikasi jalan terus, kalau screen
di stop log hilang
2. Menggunakan supervisor
Caranya.
- Buat .conf di /etc/supervisor/conf.d/cool-aps.conf
- 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
- Buat folder log
mkdir -p /var/log/cool-nodejs-app
- Lakukan
supervisorctl reread
&&supervisorctl update
agar cool-aps.conf terbaca - 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
}
service logrotate restart
agar config yang baru bisa terbaca- 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.
- 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
- Lalu jalannkan
pm2 index.js
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!