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:
-
Akses Server:
- Login ke server Anda menggunakan SSH.
ssh user@your_server_ip
-
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 -
Pastikan Node.js telah diinstal di server Anda. Jika belum, Anda bisa
menginstalnya menggunakan
-
Instal PM2:
- Instal PM2 secara global menggunakan npm.
sudo npm install -g pm2
Langkah 2: Deploy Aplikasi Node.js
-
Siapkan Aplikasi Anda:
-
Pastikan aplikasi Node.js Anda sudah siap untuk dideploy. Anda harus
memiliki file
package.json
dan file aplikasi utama (misalnyaapp.js
atauindex.js
).
-
Pastikan aplikasi Node.js Anda sudah siap untuk dideploy. Anda harus
memiliki file
-
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
-
Gunakan
-
Instal Dependencies:
- Setelah mentransfer aplikasi, instal dependencies aplikasi di server.
cd /path/to/deploynpm install
Langkah 3: Konfigurasi dan Jalankan Aplikasi dengan PM2
-
Jalankan Aplikasi dengan PM2:
-
Gunakan PM2 untuk menjalankan aplikasi Anda. Misalnya, jika file utama
aplikasi Anda adalah
app.js
, jalankan:
pm2 start app.js
-
Gunakan PM2 untuk menjalankan aplikasi Anda. Misalnya, jika file utama
aplikasi Anda adalah
-
Simpan Konfigurasi PM2:
- PM2 memungkinkan Anda untuk menyimpan konfigurasi aplikasi sehingga PM2 akan secara otomatis memulihkan aplikasi saat server reboot.
pm2 save
-
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
-
Pantau Aplikasi:
- Gunakan PM2 untuk memantau status aplikasi Anda.
pm2 status
-
Lihat Log Aplikasi:
- Periksa log aplikasi untuk debugging.
pm2 logs
-
Kelola Aplikasi:
- Anda dapat menghentikan, me-restart, atau menghapus aplikasi menggunakan PM2.
pm2 stop app_namepm2 restart app_namepm2 delete app_name
Langkah 5: Pembaruan dan Pemeliharaan
-
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
-
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.
Tidak ada komentar