PM2: Rahasia Node.js Agar Aplikasi Selalu Jalan dan Stabil di Production

PM2: Rahasia Node.js Agar Aplikasi Selalu Jalan dan Stabil di Production

Update 19/10/25 · Read 3 minute

Node.js memang hebat, tapi menjalankan aplikasi langsung dengan node app.js punya risiko: jika aplikasi crash, server berhenti begitu saja.

Untungnya, ada PM2 (Process Manager 2), manajer proses untuk Node.js yang membuat aplikasi berjalan 24/7 tanpa repot.


Apa Itu PM2?

PM2 adalah process manager untuk Node.js yang membantu:

  • Menjalankan aplikasi di background.

  • Restart otomatis jika terjadi crash.

  • Load balancing dengan mode cluster.

  • Monitoring real-time CPU, memory, dan log.

  • Menjalankan aplikasi otomatis saat server restart.

Dengan PM2, Node.js Anda siap production dan lebih stabil.


Cara Install PM2

Instal PM2 global dengan npm:

npm install pm2@latest -g

Cek versi:

pm2 -v

Menjalankan Aplikasi Node.js dengan PM2

Contoh aplikasi sederhana app.js:

const http = require('http');

const server = http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Hello from PM2!\n');
});

server.listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});

Jalankan dengan PM2:

pm2 start app.js --name my-app

Perintah PM2 Penting

  • Cek daftar proses:

    pm2 list
  • Lihat log aplikasi:

    pm2 logs my-app
  • Restart aplikasi:

    pm2 restart my-app
  • Stop aplikasi:

    pm2 stop my-app
  • Hapus aplikasi dari PM2:

    pm2 delete my-app

Gunakan Mode Cluster

Untuk memanfaatkan multi-core CPU:

pm2 start app.js -i max --name my-app

-i max menjalankan aplikasi sesuai jumlah core CPU.


Jalankan Otomatis Saat Server Restart

pm2 startup
pm2 save

pm2 startup membuat script agar PM2 otomatis berjalan saat booting, sedangkan pm2 save menyimpan daftar aplikasi yang harus dijalankan.


Monitoring Real-Time

Pantau penggunaan CPU, memory, dan status proses:

pm2 monit

Contoh package.json dengan Script PM2

{
  "name": "pm2-app",
  "version": "1.0.0",
  "scripts": {
    "start": "pm2 start app.js --name my-app",
    "stop": "pm2 stop my-app",
    "restart": "pm2 restart my-app",
    "logs": "pm2 logs my-app"
  }
}

Sekarang cukup jalankan npm run start untuk menjalankan aplikasi dengan PM2.

READ :  Kenapa Memilih Node.js untuk Pengembangan Aplikasi?

FAQs

1. Apa bedanya PM2 dengan menjalankan node app.js biasa?
PM2 menjaga aplikasi tetap berjalan, restart otomatis saat crash, dan menyediakan monitoring. node app.js biasa berhenti begitu aplikasi crash.

2. Bisakah PM2 menjalankan beberapa aplikasi sekaligus?
Ya. PM2 bisa menjalankan banyak aplikasi Node.js sekaligus, bahkan dengan mode cluster untuk memanfaatkan semua core CPU.

3. Bagaimana cara memantau performa aplikasi?
Gunakan perintah pm2 monit untuk monitoring real-time atau pm2 logs untuk melihat log.

4. Apakah PM2 cocok untuk production?
Sangat cocok. PM2 dibuat untuk production agar aplikasi Node.js stabil, bisa restart otomatis, dan mudah dimonitor.

5. Apakah perlu konfigurasi tambahan untuk auto-start saat server reboot?
Cukup jalankan pm2 startup lalu pm2 save. PM2 akan otomatis menyiapkan script sesuai OS.


PM2 adalah kunci agar Node.js Anda tetap jalan, stabil, dan siap production tanpa khawatir crash. Dengan sedikit konfigurasi, aplikasi Anda siap melayani pengguna nonstop!