Promo Domain .web.id .biz.id .my.id Hanya 5.000 Rupiah

PanduanSoftwareVPS

Deploy Aplikasi Node.js di VPS

Sely Marlinda

Node.js merupakan platform JavaScript yang banyak digunakan untuk membangun aplikasi backend yang ringan, cepat, dan scalable. Ketika aplikasi Anda sudah selesai dikembangkan di lingkungan lokal, langkah berikutnya adalah deploy ke server VPS (Virtual Private Server) agar bisa diakses publik melalui internet.

Dalam artikel ini, kita akan membahas cara lengkap deploy aplikasi Node.js di VPS berbasis Linux (Ubuntu), dari instalasi Node.js hingga konfigurasi domain dan proses menjaga aplikasi agar tetap berjalan stabil.

Persiapan Awal

Sebelum memulai, pastikan Anda memiliki:

  • VPS aktif dengan akses root (Ubuntu 20.04/22.04 disarankan)
  • Aplikasi Node.js siap di-upload (bisa via Git, SCP, atau FTP)
  • Nama domain (opsional, jika ingin mengakses aplikasi via domain)

Langkah 1: Akses VPS via SSH

Login ke VPS dengan SSH:

ssh root@IP_ADDRESS

Gantilah IP_ADDRESS dengan alamat IP server Anda.

Langkah 2: Instalasi Node.js dan npm

Untuk instalasi Node.js versi terbaru, gunakan NodeSource:

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs

Cek versi Node.js dan npm:

node -v
npm -v

Langkah 3: Upload Aplikasi ke VPS

Anda bisa meng-upload file aplikasi dengan beberapa cara:

Opsi 1: Clone dari GitHub

git clone https://github.com/username/nama-aplikasi.git
cd nama-aplikasi

Opsi 2: Upload manual via SCP (dari lokal ke server)

scp -r ./folder-aplikasi root@IP_ADDRESS:/home/

Setelah itu, login ke server dan pindah ke direktori aplikasi:

cd /home/folder-aplikasi

Langkah 4: Instal Dependensi

Pastikan Anda berada di dalam folder aplikasi Node.js, lalu jalankan:

npm install

Ini akan menginstal semua dependensi dari file package.json.

Langkah 5: Jalankan Aplikasi

Untuk memastikan aplikasi berjalan, jalankan perintah:

node app.js

atau jika Anda menggunakan framework seperti Express.js dan file utama Anda index.js:

node index.js

Namun, menjalankan aplikasi seperti ini hanya sementara — jika koneksi SSH terputus, aplikasi akan berhenti. Maka kita perlu process manager seperti PM2.

Langkah 6: Gunakan PM2 untuk Menjaga Aplikasi Tetap Berjalan

Instal PM2 secara global:

sudo npm install pm2 -g

Jalankan aplikasi Anda menggunakan PM2:

pm2 start app.js

PM2 akan memastikan aplikasi tetap berjalan di background bahkan setelah reboot.

Untuk menyimpan konfigurasi startup:

pm2 startup
pm2 save

Untuk melihat status aplikasi:

pm2 list

Langkah 7: Konfigurasi Reverse Proxy dengan NGINX

Agar aplikasi Node.js bisa diakses melalui port 80 atau domain Anda, gunakan NGINX sebagai reverse proxy.

Install NGINX:

sudo apt install nginx -y

Buat konfigurasi NGINX:

sudo nano /etc/nginx/sites-available/nodeapp

Isi dengan konfigurasi berikut:

server {
listen 80;
server_name yourdomain.com;

location / {
proxy_pass http://localhost:3000; # Ganti dengan port aplikasi Anda
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}

Aktifkan konfigurasi:

sudo ln -s /etc/nginx/sites-available/nodeapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Sekarang Anda bisa mengakses aplikasi melalui IP atau domain Anda.

Langkah 8: (Opsional) Tambahkan SSL dengan Let’s Encrypt

Jika menggunakan domain, Anda bisa menambahkan HTTPS dengan Certbot:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com

Ikuti instruksi di layar dan sertifikat SSL akan otomatis terpasang.

Kesimpulan

Deploy aplikasi Node.js ke VPS bukanlah proses yang rumit, namun memerlukan pemahaman tentang server Linux, Node.js, dan konfigurasi NGINX. Dengan menggunakan PM2, aplikasi Anda akan tetap berjalan stabil, dan dengan NGINX, Anda bisa melayani aplikasi ke publik dengan port standar dan keamanan tambahan seperti HTTPS.

Rangkuman Langkah:

  1. Akses VPS dengan SSH
  2. Instal Node.js dan npm
  3. Upload aplikasi ke server
  4. Instal dependensi dan jalankan dengan PM2
  5. Konfigurasikan NGINX sebagai reverse proxy
  6. (Opsional) Aktifkan SSL

Dengan mengikuti panduan ini, Anda bisa dengan mudah mempublikasikan aplikasi Node.js ke internet dengan VPS pribadi Anda.

Baca Juga