Bagaimana untuk membalikkan perkhidmatan Golang proksi menggunakan Nginx

PHPz
Lepaskan: 2023-04-25 16:34:09
asal
1137 orang telah melayarinya

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
Salin selepas log masuk

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

go version
Salin selepas log masuk

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)
}
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

dan gunakan perintah berikut untuk menetapkannya sebagai Auto-start at boot:
systemctl start nginx
Salin selepas log masuk

5 Konfigurasikan proksi terbalik Nginx
systemctl enable nginx
Salin selepas log masuk

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;
    }
}
Salin selepas log masuk
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
Salin selepas log masuk

6 Uji perkhidmatan Golang
systemctl restart nginx
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan