Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Laksanakan penyelesaian pengimbangan beban Nginx berprestasi tinggi

Laksanakan penyelesaian pengimbangan beban Nginx berprestasi tinggi

PHPz
PHPzasal
2023-10-15 15:20:031273semak imbas

Laksanakan penyelesaian pengimbangan beban Nginx berprestasi tinggi

Untuk melaksanakan penyelesaian pengimbangan beban Nginx berprestasi tinggi, contoh kod khusus diperlukan

Dengan pembangunan berterusan Internet, keperluan prestasi untuk sistem semakin tinggi dan lebih tinggi. Apabila mengendalikan sejumlah besar permintaan serentak, pengimbangan beban ialah penyelesaian yang sangat penting yang boleh mengagihkan beban permintaan dengan berkesan dan meningkatkan prestasi dan ketersediaan sistem. Nginx, sebagai pelayan web berprestasi tinggi dan pelayan proksi terbalik, digunakan secara meluas dalam senario pengimbangan beban.

Apabila melaksanakan penyelesaian pengimbangan beban Nginx berprestasi tinggi, kami boleh menggunakan pelbagai strategi, seperti tinjauan pendapat, pencincangan IP, sambungan paling sedikit, dsb. Di sini kita akan mengambil strategi pengundian sebagai contoh untuk menunjukkan cara mengkonfigurasi Nginx untuk mencapai pengimbangan beban.

Pertama, kita perlu memasang Nginx dan melaksanakan konfigurasi asas. Proses pemasangan ditinggalkan dan kami menganggap bahawa Nginx telah berjaya dipasang dan dimulakan. Seterusnya, masukkan direktori fail konfigurasi Nginx, biasanya /etc/nginx.

Dalam direktori ini, buka fail nginx.conf, dan kita boleh melihat maklumat konfigurasi berikut:

...
http {
    ...
    server {
        listen       80;
        server_name  localhost;

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

Di sini, kami hanya menumpukan pada konfigurasi blok pelayan. Antaranya, listen 80; bermaksud mendengar port 80 dan server_name localhost; bermaksud menugaskan permintaan semasa kepada pelayan bernama localhost. proxy_pass http://localhost:8000; bermaksud memajukan permintaan ke port tempatan 8000. Dalam aplikasi praktikal, kami boleh mengubah suai http://localhost:8000 kepada alamat dan port pelayan sebenar. listen 80;表示监听80端口,server_name localhost;表示将当前请求分配给名为localhost的服务器。proxy_pass http://localhost:8000;表示将请求转发给本地的8000端口。在实际应用中,我们可以将http://localhost:8000修改为实际的服务器地址和端口。

在这个基础上,我们可以先配置一组负载均衡的后端服务器。例如,我们在同一个server块下添加多个location块,每个location块指定一个后端服务器的地址和端口:

...
http {
    ...
    server {
        listen       80;
        server_name  localhost;

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

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

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

其中,/backend1/backend2

Atas dasar ini, kami boleh mengkonfigurasi set pelayan bahagian belakang seimbang beban dahulu. Sebagai contoh, kami menambah berbilang blok lokasi di bawah blok pelayan yang sama dan setiap blok lokasi menentukan alamat dan port pelayan bahagian belakang:

rrreee

Antaranya, /backend1 dan /backend2 ialah alamat dua pelayan belakang masing-masing, yang boleh diubah suai mengikut situasi sebenar. <p></p>Selepas konfigurasi ini, Nginx akan menyerahkan permintaan kepada pelayan bahagian belakang yang berbeza mengikut strategi pengundian. Setiap pelayan bahagian belakang menerima permintaan yang sepadan, dengan itu mencapai pengimbangan beban. <p></p>Selain itu, dalam penggunaan sebenar, kami boleh mengkonfigurasi Nginx ke dalam berbilang pelayan untuk melaksanakan resolusi nama domain atau meminta pengedaran melalui DNS atau SLB (pengimbang beban). Ini meningkatkan lagi prestasi dan ketersediaan sistem. <ol> <li>Untuk meringkaskan, langkah berikut diperlukan untuk melaksanakan penyelesaian pengimbangan beban Nginx berprestasi tinggi: </li> <li>Pasang Nginx dan lakukan konfigurasi asas <li>Dalam fail konfigurasi nginx.conf, konfigurasikan blok pelayan dan majukan permintaan ke; pelayan hujung belakang ;</ol> <p>Konfigurasikan alamat dan port pelayan hujung belakang untuk mencapai pengimbangan beban. </p>🎜🎜Di atas adalah contoh penyelesaian pengimbangan beban Nginx yang mudah Kaedah pelaksanaan khusus juga bergantung pada keperluan aplikasi dan persekitaran sebenar. 🎜

Atas ialah kandungan terperinci Laksanakan penyelesaian pengimbangan beban Nginx berprestasi tinggi. 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