Cara Deploy Web App ke VPS
/ 3 min read
Updated:Daftar Isi
cara-deploy-web-app-ke-vps
disini saya akan menceritakan cara deploy web app ke VPS versi yang simpel dan gampang dipraktikkan. Buat saya, VPS itu enak karena lebih fleksibel, bisa atur server sendiri, dan cocok buat belajar dunia production dari nol. Tulisan ini fokus ke alur yang paling umum dipakai: siapkan server, upload project, jalankan app, pasang reverse proxy, lalu amankan pakai SSL.
ada beberapa langkah utama biar deploy ke VPS tidak berantakan:
persiapan awal
- sewa VPS dan dapat akses SSH
- update package server
- install runtime sesuai stack (Node.js, Bun, atau Docker)
- upload source code
- jalankan app pakai process manager
- konfigurasi domain + Nginx
- aktifkan SSL
Disclaimer: ini berdasarkan alur yang paling sering saya pakai, jadi mungkin ada perbedaan kecil sesuai distro Linux atau stack project kamu.
pilih-vps-dan-setup-awal
langkah pertama tentu pilih provider VPS dulu, bebas mau DigitalOcean, Vultr, Hetzner, atau provider lokal. Yang penting dapet akses root dan spek minimal sesuai kebutuhan app kamu.
setelah server aktif, langsung login lewat SSH lalu update package:
ssh root@IP_SERVERapt update && apt upgrade -ykalau sudah, bikin user baru biar tidak kerja terus pakai root. ini opsional tapi sangat disarankan untuk keamanan.
install-runtime-sesuai-project
setiap web app beda kebutuhan. kalau project kamu pakai Node.js, install Node LTS dulu. kalau pakai Docker, install Docker dan Docker Compose sekalian biar deployment lebih konsisten.
contoh install Node.js singkat:
curl -fsSL https://deb.nodesource.com/setup_lts.x | bash -apt install -y nodejsnode -vnpm -vsetelah runtime siap, baru masuk ke tahap upload project.
upload-project-ke-server
cara paling gampang biasanya pakai git clone langsung di server. bisa juga pakai rsync atau SFTP kalau kamu lebih nyaman.
git clone https://github.com/username/nama-project.gitcd nama-projectnpm installnpm run buildpastikan file environment seperti .env sudah benar. banyak error deploy terjadi cuma gara-gara variabel environment belum di-set.
jalankan-app-biar-tetap-hidup
jangan jalankan app pakai terminal biasa lalu ditinggal, karena kalau terminal ketutup app ikut mati. pakai process manager seperti PM2 biar app tetap jalan di background dan auto-restart kalau crash.
npm install -g pm2pm2 start npm --name "web-app" -- startpm2 savepm2 startupdengan cara ini app kamu lebih stabil untuk dipakai production skala kecil sampai menengah.
pasang-nginx-dan-domain
Nginx dipakai sebagai reverse proxy biar domain kamu bisa mengarah ke port app (misalnya 3000). jadi user akses domain normal, bukan IP:port .
contoh konfigurasi dasar Nginx:
server { server_name contohdomain.com www.contohdomain.com;
location / { proxy_pass http://127.0.0.1:3000; 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; }}setelah itu aktifkan config dan reload Nginx.
aktifkan-ssl-biar-https
setelah domain dan Nginx aman, lanjut pasang SSL gratis dari Let’s Encrypt pakai Certbot.
apt install -y certbot python3-certbot-nginxcertbot --nginx -d contohdomain.com -d www.contohdomain.comkalau berhasil, website kamu otomatis pakai HTTPS. ini penting banget buat keamanan dan kepercayaan user.
kesimpulannya
deploy web app ke VPS itu sebenarnya tidak sesulit yang dibayangin kalau alurnya jelas. kunci utamanya ada di persiapan server, runtime yang sesuai, cara jalanin app yang benar, dan konfigurasi domain + SSL.
kalau masih pertama kali deploy dan ketemu error, tenang aja itu normal. pelan-pelan cek log, periksa .env, cek port, lalu cek Nginx. sekali kita paham alurnya, deploy berikutnya bakal jauh lebih cepat.