Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Cara menggunakan Nginx untuk proksi terbalik dan pengimbangan beban

Cara menggunakan Nginx untuk proksi terbalik dan pengimbangan beban

WBOY
WBOYasal
2023-08-05 21:13:411354semak imbas

Cara menggunakan Nginx untuk proksi terbalik dan pengimbangan beban

Pengenalan:
Nginx ialah pelayan web sumber terbuka berprestasi tinggi dan pelayan proksi terbalik. Ia bukan sahaja boleh menyediakan perkhidmatan fail statik seperti pelayan web tradisional, tetapi juga berfungsi sebagai pelayan proksi terbalik, memajukan permintaan pelanggan kepada berbilang pelayan akhir belakang dan mencapai pengimbangan beban. Artikel ini akan memperkenalkan cara menggunakan Nginx untuk melaksanakan konfigurasi proksi terbalik dan pengimbangan beban.

1. Proksi songsang
Proksi songsang bermakna pelayan web menerima permintaan pelanggan dan memajukannya ke beberapa pelayan belakang. Pelanggan tidak boleh membuat sambungan terus dengan pelayan bahagian belakang dan hanya boleh berkomunikasi dengan pelayan bahagian belakang melalui pelayan proksi terbalik. Proksi terbalik boleh menyembunyikan alamat IP sebenar pelayan bahagian belakang dan meningkatkan keselamatan sistem.

Contoh konfigurasi:
Dalam fail konfigurasi Nginx, tambahkan blok pelayan baharu untuk mengkonfigurasi proksi terbalik:

server {
    listen       80;
    server_name  example.com;

    location / {
        proxy_pass http://backend_servers;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Dalam konfigurasi di atas, listen menentukan port yang didengari Nginx dan server_name menentukan nama domain proksi terbalik . lokasi / bermaksud memajukan semua permintaan ke pelayan bahagian belakang. proxy_pass mengkonfigurasi alamat pelayan bahagian belakang, yang boleh menjadi alamat IP atau nama domain. proxy_set_header boleh menetapkan beberapa maklumat pengepala HTTP, seperti Host dan X-Real-IP, dsb.

2. Pengimbangan Beban
Pengimbangan beban merujuk kepada pengagihan permintaan kepada berbilang pelayan bahagian belakang untuk meningkatkan prestasi dan ketersediaan sistem. Nginx menyokong pelbagai algoritma pengimbangan beban, seperti pengundian, undian berwajaran, sambungan paling sedikit, dsb.

Contoh konfigurasi:
Dalam fail konfigurasi Nginx, tambahkan blok huluan baharu untuk mengkonfigurasi pelayan hujung belakang:

upstream backend_servers {
    server 192.168.0.1:8080;
    server 192.168.0.2:8080;
    server 192.168.0.3:8080;
    server 192.168.0.4:8080;
}

server {
    listen       80;
    server_name  example.com;

    location / {
        proxy_pass http://backend_servers;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Dalam konfigurasi di atas, blok huluan mentakrifkan alamat dan port berbilang pelayan hujung belakang. Dalam blok lokasi, proxy_pass mengkonfigurasi nama blok huluan, dan Nginx akan memilih pelayan bahagian belakang yang sesuai berdasarkan algoritma pengimbangan beban yang dikonfigurasikan.

3. Laksanakan pemeriksaan kesihatan
Untuk memastikan ketersediaan pelayan bahagian belakang, anda boleh menambah fungsi pemeriksaan kesihatan Apabila pelayan bahagian belakang gagal, Nginx akan memajukan permintaan ke pelayan biasa yang lain.

Contoh konfigurasi:
Dalam fail konfigurasi Nginx, anda boleh menambah blok lokasi baharu untuk melaksanakan pemeriksaan kesihatan:

location /check {
    access_log off;
    proxy_pass http://backend_servers;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
}

Dalam konfigurasi di atas, lokasi /check bermakna apabila mengakses /check diminta, Nginx akan memajukan permintaan kepada pelayan hujung belakang dan semak kod status yang dikembalikan. Jika kod status yang dikembalikan adalah ralat, tamat masa, invalid_header, http_500, http_502, http_503 atau http_504, Nginx akan memajukan permintaan ke pelayan biasa yang lain.

Kesimpulan:
Dengan menggunakan proksi terbalik Nginx dan keupayaan mengimbangi beban, prestasi dan ketersediaan sistem anda boleh dipertingkatkan. Melalui pengenalan dan contoh kod artikel ini, saya percaya bahawa pembaca telah memahami cara mengkonfigurasi Nginx untuk proksi terbalik dan pengimbangan beban. Saya harap ia akan membantu pembaca dalam amalan.

Atas ialah kandungan terperinci Cara menggunakan Nginx untuk proksi terbalik dan pengimbangan beban. 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