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



