Deploy Aplikasi Node.js di VPS

Sedang Trending 1 tahun yang lalu

Node.js merupakan platform JavaScript nan banyak digunakan untuk membangun aplikasi backend nan 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 tulisan ini, kita bakal membahas cara komplit deploy aplikasi Node.js di VPS berbasis Linux (Ubuntu), dari instalasi Node.js hingga konfigurasi domain dan proses menjaga aplikasi agar tetap melangkah 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, alias FTP)
  • Nama domain (opsional, jika mau 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 jenis terbaru, gunakan NodeSource:

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

Cek jenis Node.js dan npm:

node -v
npm -v

Langkah 3: Upload Aplikasi ke VPS

Anda bisa meng-upload file aplikasi dengan beberapa cara:

5 Kesalahan Umum saat Menggunakan VPS (dan Cara Menghindarinya)

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 berkas aplikasi Node.js, lampau jalankan:

npm install

Ini bakal menginstal semua keterbatasan 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 hubungan SSH terputus, aplikasi bakal 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 bakal memastikan aplikasi tetap melangkah di background apalagi setelah reboot.

Untuk menyimpan konfigurasi startup:

pm2 startup
pm2 save

Untuk memandang status aplikasi:

pm2 list

Langkah 7: Konfigurasi Reverse Proxy dengan NGINX

Agar aplikasi Node.js bisa diakses melalui port 80 alias 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 alias 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 petunjuk di layar dan sertifikat SSL bakal otomatis terpasang.

Kesimpulan

Deploy aplikasi Node.js ke VPS bukanlah proses nan rumit, namun memerlukan pemahaman tentang server Linux, Node.js, dan konfigurasi NGINX. Dengan menggunakan PM2, aplikasi Anda bakal tetap melangkah 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 keterbatasan dan jalankan dengan PM2
  5. Konfigurasikan NGINX sebagai reverse proxy
  6. (Opsional) Aktifkan SSL

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

Selengkapnya
Sumber Info Panduan Teknologi Dewabiz
Info Panduan Teknologi Dewabiz