Bagaimanakah nginx memajukan permintaan kepada pelayan bahagian belakang Golang?

PHPz
Lepaskan: 2023-04-05 13:58:45
asal
948 orang telah melayarinya

Nginx ialah pelayan web yang berkuasa dan pelayan proksi terbalik Ia boleh digunakan untuk protokol HTTP, HTTPS, SMTP, POP3 dan IMAP Ia adalah pelayan web berprestasi tinggi dan kestabilan. Golang ialah bahasa pengaturcaraan yang dibangunkan oleh Google Ia mempunyai ciri-ciri kecekapan dan kesederhanaan yang tinggi Oleh itu, Golang sering digunakan untuk menulis program bahagian belakang dalam aplikasi dengan bahagian hadapan dan bahagian belakang yang berasingan. Untuk meningkatkan prestasi dan kebolehskalaan aplikasi, kami biasanya perlu menggunakan Nginx sebagai proksi terbalik untuk memajukan permintaan ke pelayan belakang Golang.

Sebelum mengkonfigurasi Nginx sebagai pelayan proksi terbalik, kami perlu mengesahkan bahawa aplikasi Golang dipasang dan berjalan pada pelayan. Kami boleh mengesahkan sama ada Golang telah dipasang melalui arahan berikut:

go version
Salin selepas log masuk

Jika nombor versi dikembalikan, Golang telah berjaya dipasang. Seterusnya, kami perlu mendayakan perkhidmatan HTTP dalam aplikasi Golang, seperti yang ditunjukkan di bawah:

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Hello, Golang!")
    })

    http.ListenAndServe(":8080", nil)
}
Salin selepas log masuk

Dalam kod ini, kami mentakrifkan fungsi pemprosesan HTTP yang akan mengembalikan "Hello, Golang!". Kemudian, kami menggunakan fungsi http.ListenAndServe() untuk mendaftarkan perkhidmatan HTTP pada port 8080.

Seterusnya, kami mengkonfigurasi Nginx sebagai pelayan proksi terbalik untuk memajukan permintaan ke pelayan belakang Golang. Kami boleh menambah kandungan berikut pada fail konfigurasi Nginx:

server {
    listen       80;
    server_name  localhost;

    location / {
        proxy_pass       http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
Salin selepas log masuk

Dalam kod ini, kami mentakrifkan blok pelayan, gunakan arahan listen untuk menetapkan port yang didengari Nginx dan gunakan server_name arahan Tetapkan nama pelayan. Kemudian, kami menggunakan arahan location untuk menentukan laluan permintaan dan memajukan permintaan ke alamat http://127.0.0.1:8080. Pada masa yang sama, kami menggunakan arahan proxy_set_header untuk menetapkan beberapa maklumat pengepala HTTP supaya aplikasi Golang boleh mendapatkan alamat IP klien dengan betul.

Sekarang, kita boleh menggunakan arahan berikut untuk menguji sama ada Nginx telah berjaya memajukan permintaan ke aplikasi Golang:

curl http://localhost/
Salin selepas log masuk

Jika ia mengembalikan "Hello, Golang!", maka Nginx The permintaan telah berjaya dimajukan ke pelayan bahagian belakang Golang.

Untuk meringkaskan, sebelum mengkonfigurasi Nginx sebagai pelayan proksi terbalik, kami perlu mengesahkan bahawa aplikasi Golang telah dipasang dan berjalan pada pelayan. Kemudian, kami mendayakan perkhidmatan HTTP Golang dan mengkonfigurasi Nginx sebagai pelayan proksi terbalik untuk memajukan permintaan ke pelayan bahagian belakang Golang. Sudah tentu, untuk aplikasi tertentu, konfigurasi terperinci diperlukan berdasarkan situasi sebenar.

Atas ialah kandungan terperinci Bagaimanakah nginx memajukan permintaan kepada pelayan bahagian belakang Golang?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!