Bagaimana Nginx melaksanakan konfigurasi pengimbangan beban, contoh kod khusus diperlukan
Pengenalan:
Pengimbangan beban ialah kaedah dalam rangkaian Kaedah pengagihan beban kerja membolehkan berbilang pelayan memproses permintaan secara kolaboratif, meningkatkan ketersediaan dan prestasi sistem. Dalam Nginx, kita boleh mencapai pengimbangan beban melalui konfigurasi Artikel ini akan memperkenalkan cara menggunakan Nginx untuk konfigurasi pengimbangan beban dan memberikan contoh kod khusus.
1. Prinsip asas pengimbangan beban Nginx
Nginx mencapai pengimbangan beban melalui proksi terbalik HTTP. Apabila pelanggan menghantar permintaan, Nginx bertindak sebagai pelayan proksi dan memajukan permintaan ke berbilang pelayan di latar belakang, dan kemudian mengembalikan hasil pemprosesan pelayan kepada klien. Nginx menyokong pelbagai strategi pengimbangan beban, termasuk tinjauan pendapat, tinjauan wajaran, pencincangan IP, bilangan sambungan minimum, dsb.
2. Kaedah konfigurasi pengimbangan beban Nginx
http { upstream backend { server backend1.example.com weight=1; server backend2.example.com weight=2; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } }
Dalam konfigurasi di atas, kata kunci huluan mentakrifkan sekumpulan pelayan bahagian belakang dan pelayan boleh ditambah atau dipadamkan mengikut keperluan. Antaranya, backend1.example.com dan backend2.example.com boleh digantikan dengan nama domain pelayan sebenar atau alamat IP. Parameter berat mentakrifkan berat setiap pelayan Lebih tinggi berat, lebih banyak permintaan yang dikendalikan.
sudo systemctl restart nginx
3. Contoh dan kesan pengimbangan beban Nginx
Andaikan terdapat dua pelayan backend1 (192.168.1.100) dan backend2 (192.2008), di mana berat bahagian belakang. adalah dua kali lebih banyak daripada backend1. Apabila pelanggan menghantar permintaan, Nginx akan mengedarkannya mengikut berat. Konfigurasi khusus adalah seperti berikut:
http { upstream backend { server 192.168.1.100 weight=1; server 192.168.1.200 weight=2; } server { listen 80; server_name example.com; location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } }
Dalam konfigurasi di atas, apabila 100 permintaan dihantar ke Nginx, backend1 akan memproses berat 100/3≈34 permintaan, manakala backend2 akan memproses berat 100 /3 *2≈67 permintaan, dengan itu mencapai pengimbangan beban.
Kesimpulan:
Melalui konfigurasi dan kod sampel di atas, kita dapat melihat bahawa fungsi pengimbangan beban Nginx sangat berkuasa dan mudah untuk dikonfigurasikan. Sama ada tapak web kecil atau aplikasi besar, anda boleh menggunakan Nginx untuk mencapai ketersediaan tinggi dan pengimbangan beban prestasi tinggi. Saya harap artikel ini akan membantu anda memahami kaedah konfigurasi pengimbangan beban Nginx.
Atas ialah kandungan terperinci Bagaimana Nginx melaksanakan konfigurasi pengimbangan beban. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!