Cara Deploy Aplikasi Node.js di VPS Ubuntu Menggunakan PM2

Diposting pada

LarhTech – Saat mengembangkan aplikasi menggunakan Node.js, baik itu berupa backend API, aplikasi web mandiri, atau bahkan script otomatisator yang berjalan di latar belakang, menjalankannya di komputer lokal tentu sangat mudah. Namun, saat memindahkannya ke VPS (Virtual Private Server), Anda akan menemui satu masalah klasik: ketika Anda menutup terminal SSH, aplikasi Node.js tersebut akan ikut mati.

Untuk mengatasi hal ini, kita membutuhkan sebuah Process Manager. Di ekosistem Node.js, PM2 adalah standar industri yang paling banyak digunakan. PM2 memungkinkan aplikasi Anda berjalan terus-menerus selama 24 jam non-stop di latar belakang (background), otomatis restart jika terjadi error atau crash, dan otomatis menyala kembali saat VPS mengalami reboot.

Dalam panduan ini, kita akan belajar cara melakukan deploy aplikasi Node.js di VPS Ubuntu menggunakan PM2 dari nol.

Persyaratan Awal

Sebelum mengeksekusi perintah di bawah ini, pastikan:

  • Anda memiliki akses ke VPS Ubuntu dengan status Root atau hak sudo.
  • Memiliki dasar pemahaman tentang navigasi direktori di terminal Linux.

Langkah 1: Install Node.js dan NPM

Langkah pertama tentu saja menginstal environment Node.js dan package manager-nya (NPM) ke dalam server. Buka terminal Anda dan jalankan perintah pembaruan sistem:

sudo apt update && sudo apt upgrade -y

Selanjutnya, instal Node.js. (Kita akan menggunakan versi bawaan repositori Ubuntu agar lebih praktis untuk pemula):

sudo apt install nodejs npm -y

Untuk memastikan instalasi berhasil, cek versinya dengan mengetikkan:

node -v
npm -v

Langkah 2: Menyiapkan File Aplikasi Node.js

Sebagai bahan praktik, mari kita buat sebuah folder dan satu file aplikasi Node.js sederhana. Buat direktori baru dan masuk ke dalamnya:

mkdir ~/proyek-node && cd ~/proyek-node

Buat file bernama app.js menggunakan editor Nano:

nano app.js

Masukkan kode server sederhana berikut ke dalam file tersebut:

const http = require('http');
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Aplikasi Node.js berjalan lancar di VPS!\n');
});

const PORT = 3000;
server.listen(PORT, () => {
console.log(`Server berjalan di port ${PORT}`);
});

Simpan file dengan menekan Ctrl+X, lalu Y, dan Enter.

Langkah 3: Install PM2 Secara Global

Sekarang, kita instal pahlawan utama kita, yaitu PM2. Karena PM2 akan digunakan untuk mengelola berbagai aplikasi di server, kita harus menginstalnya secara global menggunakan NPM.

sudo npm install -g pm2

Langkah 4: Menjalankan Aplikasi dengan PM2

Jika sebelumnya Anda menggunakan perintah node app.js untuk menjalankan aplikasi, sekarang kita serahkan tugas itu kepada PM2. Jalankan perintah ini:

pm2 start app.js --name "AplikasiWeb"

Tada! Aplikasi Anda sekarang sudah berjalan di latar belakang. PM2 akan menampilkan sebuah tabel indikator yang berisi ID proses, nama aplikasi, status (biasanya berwarna hijau bertuliskan online), serta penggunaan CPU dan RAM.

Langkah 5: Mengatur Auto-Restart Saat VPS Reboot

Bagian ini sangat krusial. Jika suatu saat VPS Anda mengalami mati listrik atau Anda me-reboot server, aplikasi harus bisa menyala sendiri tanpa perlu Anda ketik ulang.

Buat startup script dengan perintah:

pm2 startup

PM2 akan memunculkan sebuah baris perintah panjang di layar (biasanya diawali dengan sudo env PATH…). Salin (copy) perintah yang muncul di layar terminal Anda tersebut, lalu paste dan jalankan (Enter).

Terakhir, simpan daftar aplikasi yang sedang berjalan saat ini agar diingat oleh PM2:

pm2 save

Mengelola Aplikasi (Perintah Dasar PM2)

Sebagai referensi, berikut adalah beberapa perintah PM2 yang akan sangat sering Anda gunakan ke depannya:

  • pm2 status : Melihat daftar aplikasi yang sedang berjalan.
  • pm2 logs : Melihat catatan error atau aktivitas terminal secara real-time.
  • pm2 stop AplikasiWeb : Menghentikan aplikasi.
  • pm2 restart AplikasiWeb : Memulai ulang aplikasi (sangat berguna setelah Anda mengubah kode).

Kesimpulan

Menggunakan PM2 adalah solusi paling elegan untuk menjaga aplikasi Node.js Anda tetap hidup di server production. Dengan fitur manajemen prosesnya yang canggih, Anda tidak perlu lagi khawatir aplikasi mati secara tiba-tiba karena putusnya koneksi SSH. Selanjutnya, Anda tinggal mengonfigurasi Nginx sebagai Reverse Proxy agar aplikasi yang berjalan di port 3000 ini bisa diakses langsung menggunakan nama domain.

Baca Juga: Cara Install WordPress di VPS Ubuntu Terbaru

Sekian untuk artikel kali ini, semoga bermanfaat!

Last Updated on Mei 20, 2026 by larhtechBro

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *