Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah nginx memajukan permintaan kepada pelayan bahagian belakang Golang?

Bagaimanakah nginx memajukan permintaan kepada pelayan bahagian belakang Golang?

PHPz
PHPzasal
2023-04-05 13:47:53969semak imbas

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

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)
}

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;
    }
}

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/

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!

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