Go, juga dikenal sebagai Golang, adalah bahasa pemrograman sumber terbuka yang dikembangkan oleh Google. GO dimaksudkan untuk efisiensi, kemudahan penggunaan dan skalabilitas. Sangat populer untuk membangun aplikasi web, aplikasi mikro -musim dan cloud. Dalam panduan ini, kita akan membahas cara melepaskan aplikasi web Ubuntu menggunakan Nginx sebagai proxy dan systemd untuk mengelola layanan aplikasi.
Instal Go
Perbarui dan instal GO:
sudo apt update wget sudo tar -c/usr/local -xzf go1.23.3.linux -amd64.tar.gz echo ‘ekspor pat = $ path:/usr/go/bin’ >> ~/.profile Source ~
|
Sudo Aplikasi Memperbarui wget https://Go.dev/dl/go1.23.3.linux-amd64.tar.gz Sudo ter –S / / /USR/ / /lokal –Xzf Go1S23.3.linux–AMD64SterSGZ gema ‘Ekspor jalan = $ path:/usr/local/go/bin’ >> ~/ / /Sakun sumber ~/ / /Sakun |
Memeriksa GO Instalasi dengan menampilkan nomor versi:
Jawaban atas perintah:
GO Versi GO1.23.3 Linux/AMD64
|
pergi Versi Go1S23.3 Linux/ / /AMD64 |
Buat aplikasi untuk go
Buat direktori proyek aplikasi dengan nama Gooweb:
mkdir ~/gooweb && cd ~/goeb
|
Mkdir ~/ / /Gooweb && CD ~/ / /Gooweb |
Menyiapkan Main.go Mengajukan:
Konten file Main.go:
Paket Impor Dasar (“fmt” “net/http”) funcan manipulator (w http.Responsewriter, r *http.request) {fmt.fprintf (“hai, dunia! Http.listenandserve (“: 8080 “, nil)}}}}}}}}}}}
|
kemasan Utama impor (S) “FMT” “Net/http” )) Func manipulator(S)w httpSResponseWriter., R *httpSMeminta)) { FmtSFprintf(S)w., “Halo, dunia!”)) } Func Utama(S))) { httpSHearnfunc(S)“/”., manipulator)) httpSMendengarkan(S)“: 8080”., nol)) } |
Kompilasi aplikasi:
Menyiapkan Layanan
Buat file sistem untuk layanan:
sudo nano /etc/systemd/system/goweb.service
|
Sudo Nano / / /dll./ / /Systemd/ / /sistem/ / /GoowebSmelayani |
Konten File:
Deskripsi = buka aplikasi web setelah = network.target
[Service]
ExecStart =/home/yourUser/gooweb/app restart = selalu pengguna = grup youser = yourUser lingkungan = port = 8080
[Install]
Wantyby = multi-eser.target
|
[Unit] Keterangan=Pergi Web Aplikasi Setelah=jaringanSTujuan [Service] EXECSTART=/ / /Awal/ / /Ruzer Anda/ / /Gooweb/ / /aplikasi Restart=selalu Pengguna=Ruzer Anda Kelompok=Ruzer Anda Lingkungan=Pelabuhan=8080 [Install] Ingin=Multi–PenggunaSTujuan |
Aktifkan Layanan:
Sudo systemctl daemon-relad sustemctl mengaktifkan goweb sudo systemctl start goweb sdo systemctl status goweb
|
Sudo Systemctl setan–Isi ulang Sudo Systemctl pengaktifan Gooweb Sudo Systemctl Awal Gooweb Sudo Systemctl Status Gooweb |
Konfigurasi nginx
Instal Nginx:
sudo apt install nginx -y
|
Sudo Aplikasi Instalasi Nginx –y |
Buat file konfigurasi nginx:
sudo nano /etc/nginx/conf.d/goweb.conf
|
Sudo Nano / / /dll./ / /Nginx/ / /confSdia/ / /GoowebSconf |
Konten File:
server {dengarkan 80; Server_name yourdomain.com; Lokasi / {proxy_pass proxy_http_version 1.1; Proxy_set_header upgrade $ http_upgrade; Koneksi proxy_set_header ‘upgrade’; Proxy_set_header host $ host; proxy_cache_bypass $ http_upgrade; }}
|
server { Mendengarkan 80; Server_name gelar AndaScom; Lokasi / / / { proxy_pass http:// localhost: 8080; proxy_http_Versi 1.1; Proxy_set_header Meningkatkan $http_upgrade; Proxy_set_header Hubungan “Superstruktur”; Proxy_set_header Tuan rumah $tuan rumah; proxy_cache_bypass $http_upgrade; } } |
Restart nginx:
Sudo Systemctl restart nginx
|
Sudo Systemctl restart Nginx |
Uji aplikasi
Buka browser Anda dan kunjungi alamatnya:
Hasilnya adalah teks “Halo, dunia!”.