Beranda
NodeJS
PM2
Programming
Tutorial
Cara Deploy Aplikasi Node.js ke Server dengan PM2

Mendeploy aplikasi Node.js ke server dapat tampak menantang jika Anda tidak terbiasa dengan prosesnya. Namun, dengan alat yang tepat, seperti PM2, proses ini menjadi jauh lebih mudah. PM2 adalah manajer proses untuk aplikasi Node.js yang memungkinkan Anda untuk mengelola, memantau, dan memelihara aplikasi Node.js secara efisien.

Apa itu PM2?

PM2 adalah alat manajemen proses yang dirancang khusus untuk aplikasi Node.js. Dengan PM2, Anda bisa:

  • Menjaga aplikasi tetap berjalan: PM2 akan otomatis memulai aplikasi kembali jika terjadi crash.
  • Memantau aplikasi: Anda dapat melihat metrik seperti penggunaan CPU dan memori.
  • Mengelola log: PM2 mengumpulkan log aplikasi untuk debugging yang lebih mudah.

Mengapa Memilih PM2?

PM2 menawarkan berbagai fitur yang membuatnya menjadi pilihan ideal untuk mengelola aplikasi Node.js di server:

  • Auto-restart: Menjaga aplikasi tetap aktif dengan otomatis restart pada kegagalan.
  • Load Balancing: Memanfaatkan beberapa core CPU untuk meningkatkan performa aplikasi.
  • Monitoring: Memantau kinerja aplikasi dengan metrik yang berguna.

Langkah 1: Persiapan Lingkungan Server

Sebelum Anda mulai, pastikan server Anda siap untuk menjalankan aplikasi Node.js. Berikut adalah beberapa langkah dasar:

  1. Akses Server:

    • Login ke server Anda menggunakan SSH.
    ssh user@your_server_ip
    
  2. Instal Node.js:

    • Pastikan Node.js telah diinstal di server Anda. Jika belum, Anda bisa menginstalnya menggunakan nvm (Node Version Manager) atau dengan mengunduhnya dari situs resmi Node.js.
    curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
    sudo apt-get install -y nodejs
  3. Instal PM2:

    • Instal PM2 secara global menggunakan npm.
    sudo npm install -g pm2
    

Langkah 2: Deploy Aplikasi Node.js

  1. Siapkan Aplikasi Anda:

    • Pastikan aplikasi Node.js Anda sudah siap untuk dideploy. Anda harus memiliki file package.json dan file aplikasi utama (misalnya app.js atau index.js).
  2. Transfer Aplikasi ke Server:

    • Gunakan scp atau alat lain untuk mentransfer file aplikasi Anda ke server.
    scp -r /path/to/your/app user@your_server_ip:/path/to/deploy
    
  3. Instal Dependencies:

    • Setelah mentransfer aplikasi, instal dependencies aplikasi di server.
    cd /path/to/deploy
    npm install

Langkah 3: Konfigurasi dan Jalankan Aplikasi dengan PM2

  1. Jalankan Aplikasi dengan PM2:

    • Gunakan PM2 untuk menjalankan aplikasi Anda. Misalnya, jika file utama aplikasi Anda adalah app.js, jalankan:
    pm2 start app.js
    
  2. Simpan Konfigurasi PM2:

    • PM2 memungkinkan Anda untuk menyimpan konfigurasi aplikasi sehingga PM2 akan secara otomatis memulihkan aplikasi saat server reboot.
    pm2 save
    
  3. Konfigurasi PM2 untuk Start pada Boot:

    • Konfigurasi PM2 untuk memulai otomatis saat server boot.
    pm2 startup
    
    • Ikuti instruksi yang diberikan oleh perintah di atas, biasanya Anda perlu menjalankan perintah yang dihasilkan oleh PM2.

Langkah 4: Monitoring dan Mengelola Aplikasi

  1. Pantau Aplikasi:

    • Gunakan PM2 untuk memantau status aplikasi Anda.
    pm2 status
    
  2. Lihat Log Aplikasi:

    • Periksa log aplikasi untuk debugging.
    pm2 logs
    
  3. Kelola Aplikasi:

    • Anda dapat menghentikan, me-restart, atau menghapus aplikasi menggunakan PM2.
    pm2 stop app_name
    pm2 restart app_name
    pm2 delete app_name

Langkah 5: Pembaruan dan Pemeliharaan

  1. Update Aplikasi:

    • Setelah Anda melakukan perubahan pada aplikasi, Anda bisa melakukan deploy ulang dengan cara yang sama. Cukup transfer file terbaru dan restart aplikasi dengan PM2.
    pm2 restart app_name
    
  2. Monitor Kinerja:

    • Gunakan fitur monitoring PM2 untuk memastikan aplikasi Anda berjalan dengan baik.

Kesimpulan

Deploy aplikasi Node.js ke server dengan PM2 adalah proses yang relatif sederhana jika Anda mengikuti langkah-langkah yang tepat. PM2 membantu mengelola dan memantau aplikasi Node.js dengan efisien, serta menjaga aplikasi tetap berjalan dengan fitur auto-restart dan load balancing.

Penulis blog

TUKANG KETIK
TUKANG KETIK
Programming is 10% writing code, and 90% understanding why it's not working. Coding is trial & error.

Tidak ada komentar

Tolong Ketikannya di jaga dan gunakan bahasa yang sopan. Terima kasih
Atau Boleh request juga artikel apa yang ingin saya bahas ditulisan saya (tapi ini kalau saya bisa dan waktunya ada) maklum saya juga kerja.