Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk membalikkan perkhidmatan Golang proksi menggunakan Nginx

Bagaimana untuk membalikkan perkhidmatan Golang proksi menggunakan Nginx

PHPz
PHPzasal
2023-04-25 16:20:421117semak imbas

Golang ialah bahasa pengaturcaraan yang pantas, cekap dan selamat Disebabkan ciri prestasinya yang cemerlang, semakin ramai pembangun mula menggunakannya untuk membina perkhidmatan akhir. Selepas kami menulis kod Golang, bagaimanakah kami menggunakan ia dalam persekitaran pengeluaran? Satu pilihan yang baik ialah menggunakan Nginx sebagai proksi terbalik.

Artikel ini akan memperkenalkan cara menggunakan Nginx untuk membalikkan perkhidmatan Golang proksi dan menggunakannya di bawah sistem CentOS 7.

1. Pasang Golang

Pertama, kita perlu memasang Golang. Di bawah sistem CentOS 7, anda boleh memasangnya melalui arahan berikut:

yum install -y golang

Selepas pemasangan selesai, anda boleh mengesahkan sama ada ia berjaya melalui arahan berikut:

go version

Jika nombor versi Golang adalah output , pemasangan berjaya.

2. Tulis perkhidmatan Golang

Seterusnya, kami akan menulis perkhidmatan Golang yang mudah. Dalam contoh ini, kami akan menulis pelayan HTTP yang boleh mengembalikan masa semasa Kod adalah seperti berikut:

package main

import (
    "fmt"
    "net/http"
    "time"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Current time: %s", time.Now().String())
}

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}

Dalam kod, kami mula-mula menentukan fungsi handler apabila permintaan HTTP datang , fungsi The akan mengembalikan masa semasa. Seterusnya, kami menggunakan kaedah http.HandleFunc untuk mendaftarkan fungsi handler pada laluan /. Akhir sekali, kami menggunakan kaedah http.ListenAndServe untuk memulakan pelayan HTTP pada port 8080.

3. Kompil perkhidmatan Golang

Kami menggunakan perintah go build untuk menyusun perkhidmatan Golang ke dalam fail boleh laku binari. Untuk membolehkan Nginx mengakses fail boleh laku, kita perlu meletakkannya dalam direktori dan menambah direktori pada pembolehubah persekitaran PATH. Dengan mengandaikan kami meletakkan fail boleh laku dalam direktori /root/go/bin, kami boleh melaksanakan arahan berikut untuk menyusun dan menambah direktori ke PATH:

cd /root/go/src/hello
go build -o /root/go/bin/hello
echo "export PATH=$PATH:/root/go/bin" >> ~/.bashrc
source ~/.bashrc

4 Proksi terbalik, jadi Nginx perlu dipasang terlebih dahulu. Di bawah sistem CentOS 7, anda boleh memasangnya melalui arahan berikut:

Selepas pemasangan selesai, anda boleh melaksanakan arahan berikut untuk memulakan Nginx:
yum install -y nginx

dan gunakan perintah berikut untuk menetapkannya sebagai Auto-start at boot:
systemctl start nginx

5 Konfigurasikan proksi terbalik Nginx
systemctl enable nginx

Untuk membolehkan Nginx memajukan permintaan ke perkhidmatan Golang dengan betul, kita perlu konfigurasikan proksi terbalik Nginx. Cipta fail bernama

dalam direktori

dengan kandungan berikut: /etc/nginx/conf.dhello.conf

Dalam konfigurasi, kami mendengar port
server {
    listen 80;
    server_name example.com;
 
    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
    }
}
dan memajukan permintaan kepada Golang pada

Serve . Ambil perhatian bahawa arahan 80 digunakan untuk menetapkan medan 127.0.0.1:8080 dalam pengepala permintaan HTTP supaya perkhidmatan Golang boleh menghuraikan maklumat permintaan HTTP dengan betul. proxy_set_headerHostSelepas fail konfigurasi ditulis, laksanakan arahan berikut untuk menyemak sama ada konfigurasi Nginx adalah betul:

Jika ia menggesa konfigurasi itu betul, laksanakan arahan berikut untuk memulakan semula Nginx:
nginx -t

6 Uji perkhidmatan Golang
systemctl restart nginx

Sekarang, perkhidmatan Golang kami berjalan pada port

dan Nginx juga telah dikonfigurasikan. Untuk mengesahkan sama ada perkhidmatan Golang boleh berjalan seperti biasa, kami mengakses alamat IP luaran atau nama domain Nginx dan melihat maklumat masa yang dikembalikan. Jika semuanya berfungsi dengan baik, tahniah kerana berjaya menggunakan aplikasi Golang!

8080Artikel ini memperkenalkan cara menggunakan Nginx untuk membalikkan perkhidmatan Golang proksi dan menggunakannya di bawah sistem CentOS 7. Sudah tentu, jika anda perlu menggunakan sistem lain, anda juga boleh mengikuti idea dalam artikel ini.

Atas ialah kandungan terperinci Bagaimana untuk membalikkan perkhidmatan Golang proksi menggunakan Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn