
Cara Deploy Go Web App di Ubuntu • Linux & Open Source
Bahasa Go, atau dikenal juga sebagai Golang, adalah bahasa pemrograman open-source yang dikembangkan oleh Google. Go dirancang untuk efisiensi, kemudahan penggunaan, dan skalabilitas. Bahasa Go sangat populer untuk membangun aplikasi web, microservices, dan aplikasi berbasis cloud. Dalam panduan ini, kita akan membahas cara mendepoy aplikasi web Go sederhana di Ubuntu menggunakan Nginx sebagai reverse proxy dan Systemd untuk mengelola service aplikasi.
Install Go
Update dan install Go:
sudoaptupdate wgethttps://go.dev/dl/go1.23.3.linux-amd64.tar.gz sudotar–C/usr/local–xzfgo1.23.3.linux–amd64.tar.gz echo‘export PATH=$PATH:/usr/local/go/bin’>>~/.profile source~/.profile |
Memverifikasi instalasi Go dengan menampilkan nomor versi:
Respon perintahnya:
goversiongo1.23.3linux/amd64 |
Membuat Go App
Membuat direktori untuk proyek aplikasi dengan nama goweb:
mkdir~/goweb&&cd~/goweb |
Membuat file main.go:
Isi file main.go:
import (
“fmt”
“net/http”
)
func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, “Hello, World!”)
}
func main() {
http.HandleFunc(“/”, handler)
http.ListenAndServe(“:8080”, nil)
}
packagemain import( “fmt” “net/http” ) funchandler(whttp.ResponseWriter,r *http.Request){ fmt.Fprintf(w,“Hello, World!”) } funcmain(){ http.HandleFunc(“/”,handler) http.ListenAndServe(“:8080”,nil) } |
Compile aplikasi:
Membuat Service
Membuat file service systemd:
sudonano/etc/systemd/system/goweb.service |
Isi file:
[Service]
ExecStart=/home/youruser/goweb/app
Restart=always
User=youruser
Group=youruser
Environment=PORT=8080
[Install]
WantedBy=multi-user.target
[Unit] Description=GoWebApp After=network.target [Service] ExecStart=/home/youruser/goweb/app Restart=always User=youruser Group=youruser Environment=PORT=8080 [Install] WantedBy=multi–user.target |
Mengaktifkan service:
sudosystemctldaemon–reload sudosystemctlenablegoweb sudosystemctlstartgoweb sudosystemctlstatusgoweb |
Konfigurasi Nginx
Install Nginx:
sudoaptinstallnginx–y |
Membuat file konfigurasi Nginx:
sudonano/etc/nginx/conf.d/goweb.conf |
Isi file:
location / {
proxy_pass
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;
}
}
server{ listen80; server_nameyourdomain.com; location/{ proxy_passhttp://localhost:8080; proxy_http_version1.1; proxy_set_headerUpgrade$http_upgrade; proxy_set_headerConnection‘upgrade’; proxy_set_headerHost$host; proxy_cache_bypass$http_upgrade; } } |
Restart Nginx:
sudosystemctlrestartnginx |
Uji Aplikasi
Buka browser dan kunjungi alamat:
Hasilnya adalah teks “Hello, World!”.
Selamat mencoba 🙂
caleg24
Berita Olahraga
News
Berita Terkini
Berita Terbaru
Berita Teknologi
Seputar Teknologi
Drama Korea
Resep Masakan
Pendidikan
Berita Terbaru
Berita Terbaru
Berita Terbaru