Danu Andrean, 13 Jun 2025
Cara Deploy Golang Dengan Domain Di VPS

Masih bingung gimana si caranya deploy Go di VPS?. kali ini kita akan membahas secara detail dan mudah dipahami, untuk menambahkan domain ke VPS dan mengamankannya dengan SSL menggunakan Let’s Encrypt, serta mengatur reverse proxy menggunakan Nginx untuk aplikasi Go (Golang), ikuti langkah-langkah berikut:
Arahkan Domain ke IP VPS
Pastikan domain kamu sudah diarahkan ke IP publik VPS:
- Login ke pengelola DNS domain (misalnya Cloudflare, Niagahoster, dll).
- Tambah record A:(Tambahkan juga record www jika ingin mendukung www.domain.com).
Type: A Name: @ Value: <IP VPS Kamu> TTL: Auto
- tunggu beberapa menit dan lakukan ping domain.com untuk memastikan domain resolve ke IP VPS.
Install Nginx di VPS
login vps dengan SSH dan ketikan pada terminal di vps kmu
$ sudo apt update
$ sudo apt install nginx -y
check statu nginx
$ sudo systemctl status nginx
Install Certbot untuk Let’s Encrypt
$ sudo apt install certbot python3-certbot-nginx -y
Tambah Konfigurasi Domain di Nginx
Buat file konfigurasi domain di /etc/nginx/sites-available/namadomain.com:
$ sudo nano /etc/nginx/sites-available/namadomain.com
Isi dengan:
server {
listen 80;
server_name namadomain.com www.namadomain.com;
location / {
proxy_pass http://localhost:8080; # Port aplikasi Go kamu
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;
}
}
Lalu aktifkan konfigurasi dengan membuat symlink:
$ sudo ln -s /etc/nginx/sites-available/namadomain.com /etc/nginx/sites-enabled/
Cek konfigurasi:
$ sudo nginx -t
pastikan semua ok dan tidak failed ya. kemudian restart nginx
$ sudo systemctl restart nginx
Generate SSL dengan Let’s Encrypt
$ sudo certbot --nginx -d namadomain.com -d www.namadomain.com
Ikuti proses interaktif, pilih redirect HTTP to HTTPS saat diminta.
Cek Otomatisasi Perpanjangan SSL
Let’s Encrypt hanya berlaku 90 hari, tapi bisa diperpanjang otomatis:
$ sudo certbot renew --dry-run
Jalankan Aplikasi Go
untuk kali ini kita gunakan code yang sederhana saja ya, codenya seperti dibawah ini
package main
import (
"fmt"
"net/http"
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "Hello, World")
}
func main() {
http.HandleFunc("/", handler)
fmt.Println("Server running on http://localhost:8080")
http.ListenAndServe(":8080", nil)
}
simpan dengan nama main.go dan jalankan dengan cara seperti biasa
$ go run main.go
Selesai
dengan melakukan cara seperti ini kamu akan menjalankan program go dengan domain yang sudah kamu siapkan, baca artikel menarik lainnya di web kami.
Happy Hacking 🚀🚀🚀