Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana Nginx melaksanakan konfigurasi pengimbangan beban

Bagaimana Nginx melaksanakan konfigurasi pengimbangan beban

WBOY
WBOYasal
2023-11-08 16:42:321844semak imbas

Bagaimana Nginx melaksanakan konfigurasi pengimbangan beban

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

  1. Pasang Nginx
    Pertama anda perlu memasang Nginx pada pelayan. Untuk kaedah pemasangan khusus, sila rujuk dokumentasi rasmi Nginx.
  2. Mengkonfigurasi pelayan latar belakang
    Sebelum melaksanakan pengimbangan beban, anda perlu menyediakan berbilang pelayan di latar belakang untuk memproses permintaan. Ia boleh menjadi berbilang pelayan fizikal atau berbilang hos maya pada pelayan yang sama.
  3. Mengkonfigurasi proksi Nginx
    Edit fail konfigurasi Nginx, biasanya terletak di /etc/nginx/nginx.conf. Tambahkan kod berikut dalam modul http:
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.

  1. Mulakan semula perkhidmatan Nginx
    Simpan fail konfigurasi dan mulakan semula perkhidmatan Nginx untuk menjadikan konfigurasi berkuat kuasa.
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!

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