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:
sudo apt update wget https://go.dev/dl/go1.23.3.linux-amd64.tar.gz sudo tar –C /usr/local –xzf go1.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:
go version go1.23.3 linux/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)
}
package main
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) } |
Compile aplikasi:
Membuat Service
Membuat file service systemd:
sudo nano /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=Go Web App 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:
sudo systemctl daemon–reload sudo systemctl enable goweb sudo systemctl start goweb sudo systemctl status goweb |
Konfigurasi Nginx
Install Nginx:
sudo apt install nginx –y |
Membuat file konfigurasi Nginx:
sudo nano /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 { listen 80; server_name yourdomain.com;
location / { proxy_pass http://localhost:8080; 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; } } |
Restart Nginx:
sudo systemctl restart nginx |
Uji Aplikasi
Buka browser dan kunjungi alamat:
Hasilnya adalah teks “Hello, World!”.
Selamat mencoba 🙂
Game Center
Game News
Review Film
Rumus Matematika
Anime Batch
Berita Terkini
Berita Terkini
Berita Terkini
Berita Terkini
review anime
Comments are closed, but trackbacks and pingbacks are open.