Rumah >Operasi dan penyelenggaraan >Nginx >Amalan konfigurasi pengimbangan beban Nginx untuk meningkatkan ketersediaan tapak web

Amalan konfigurasi pengimbangan beban Nginx untuk meningkatkan ketersediaan tapak web

WBOY
WBOYasal
2023-07-04 14:58:37986semak imbas

Amalan konfigurasi pengimbangan beban Nginx untuk meningkatkan ketersediaan tapak web

Abstrak: Nginx ialah pelayan web berprestasi tinggi dan pelayan proksi terbalik Melalui konfigurasi pengimbangan beban, permintaan boleh diedarkan kepada berbilang pelayan bahagian belakang, meningkatkan ketersediaan dan prestasi tapak web. Artikel ini akan memperkenalkan cara mengkonfigurasi pengimbangan beban Nginx dan menggunakan kod sampel.

  1. Apakah pengimbangan beban?

Pengimbangan beban ialah teknologi yang mengedarkan permintaan kepada berbilang pelayan Dengan mengagihkan beban secara sama rata, ia boleh meningkatkan kestabilan dan prestasi sistem. Pengimbangan beban boleh meningkatkan ketersediaan tapak web Apabila pelayan bahagian belakang gagal, pelayan lain masih boleh menyediakan perkhidmatan seperti biasa.

  1. Konfigurasi pengimbangan beban Nginx

Nginx boleh mengkonfigurasi pengimbangan beban melalui modul huluan. Kami boleh menambah konfigurasi berikut pada fail konfigurasi Nginx (biasanya /etc/nginx/nginx.conf):

http {
    upstream myapp {
        server backend1.example.com;
        server backend2.example.com;
        server backend3.example.com;
    }
    
    server {
        listen 80;
        
        location / {
            proxy_pass http://myapp;
        }
    }
}

Dalam konfigurasi di atas, kami mentakrifkan blok huluan bernama myapp, yang mengandungi berbilang alamat pelayan bahagian belakang. Dalam blok pelayan, kami memajukan permintaan ke myapp melalui arahan proxy_pass.

  1. Strategi pengimbangan beban

Nginx menyokong berbilang strategi pengimbangan beban, seperti tinjauan pendapat (strategi lalai), pencincangan IP, sambungan paling sedikit, dsb. Kami boleh mengkonfigurasi dasar dengan menambahkan arahan yang berkaitan dalam blok huluan. Berikut ialah contoh beberapa strategi pengimbangan beban yang biasa digunakan:

  • Strategi pengundian:

    upstream myapp {
      server backend1.example.com;
      server backend2.example.com;
      server backend3.example.com;
    }
  • Strategi pencincangan IP:

    upstream myapp {
      ip_hash;
      server backend1.example.com;
      server backend2.example.com;
      server backend3.example.com;
    }
  • Strategi sambungan terkurang:

  1. Contoh sambungan
Untuk lebih memahami konfigurasi pengimbangan beban Nginx, contoh praktikal diberikan di bawah. Katakan kita mempunyai tiga pelayan bahagian belakang yang menyediakan aplikasi web. Kita boleh mengikut langkah berikut untuk mengkonfigurasinya:

    Langkah 1: Sebarkan aplikasi web pada setiap pelayan bahagian belakang dan dengar pada port yang berbeza.
  • Langkah 2: Konfigurasikan pengimbangan beban pada pelayan Nginx.
Contoh fail konfigurasi Nginx (/etc/nginx/nginx.conf):

upstream myapp {
  least_conn;
  server backend1.example.com;
  server backend2.example.com;
  server backend3.example.com;
}

Dalam contoh di atas, kami menganggap bahawa setiap pelayan bahagian belakang mendengar pada port 8000. Dengan memajukan permintaan ke myapp, Nginx secara automatik akan memilih pelayan bahagian belakang untuk mengendalikan permintaan tersebut.

    Ringkasan
Melalui konfigurasi pengimbangan beban Nginx, kami boleh mengagihkan permintaan tapak web secara sama rata kepada berbilang pelayan bahagian belakang untuk meningkatkan ketersediaan dan prestasi tapak web. Artikel ini memperkenalkan kaedah konfigurasi pengimbangan beban Nginx dan menyediakan kod sampel. Saya harap pembaca boleh belajar daripada artikel ini cara melaksanakan konfigurasi pengimbangan beban melalui Nginx dan meningkatkan ketersediaan tapak web dalam aplikasi praktikal.

Atas ialah kandungan terperinci Amalan konfigurasi pengimbangan beban Nginx untuk meningkatkan ketersediaan tapak web. 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