Rumah >Operasi dan penyelenggaraan >Nginx >Bagaimana untuk mengkonfigurasi mengimbangi beban Nginx berbilang kucing jantan di bawah Linux

Bagaimana untuk mengkonfigurasi mengimbangi beban Nginx berbilang kucing jantan di bawah Linux

PHPz
PHPzke hadapan
2023-05-28 23:22:25776semak imbas

Satu: Masukkan direktori conf di bawah direktori nginx

Ini ialah direktori pemasangan nginx saya:

[root@aliserver ~]# cd /usr/local/nginx/conf

Dua: Edit nginx.conf

Bagaimana untuk mengkonfigurasi mengimbangi beban Nginx berbilang kucing jantan di bawah Linux

[root@aliserver conf]# vi nginx.conf

Tiga: Konfigurasikan kumpulan pelayan

1: Tambahkan konfigurasi huluan antara nod http{}. (Berhati-hati untuk tidak menulis localhost, jika tidak kelajuan akses akan menjadi sangat perlahan)

upstream nginxdemo {
  server 127.0.0.1:8081;  #服务器地址1
  server 127.0.0.1:8082;  #服务器地址2
  server 127.0.0.1:8082;  #服务器地址3
  server 127.0.0.1:8083;  #服务器地址4
}

2: Ubah suai nombor port yang nginx dengar kepada 80

Port lalai nginx ialah 80. Saya belum menukarnya di sini lagi

server {
  listen    80;   #默认是80,也可更改为其他的,当然已被占用的端口号不能写。
  ......
}

3: Gunakan proxy_pass untuk mengkonfigurasi alamat proksi terbalik

Di lokasi{}, "http://" tidak boleh hilang, dan alamat berikut mestilah sama dengan alamat di lokasi{}. Nama yang ditakrifkan dalam langkah huluan mestilah konsisten (iaitu, nama nginxdemo disesuaikan dan perlu konsisten di kedua-dua tempat)

location / {
      root  html;
      index index.html index.htm;
      proxy_pass http://nginxdemo; #配置方向代理地址
    }

Selepas konfigurasi selesai, seperti yang ditunjukkan dalam rajah:

Bagaimana untuk mengkonfigurasi mengimbangi beban Nginx berbilang kucing jantan di bawah Linux

Empat: Mulakan nginx

Laluan pemasangan nginx saya ialah /usr/local/nginx

Jadi arahan permulaan saya ialah :

[root@aliserver ~]# /usr/local/nginx/sbin/nginx

Oleh kerana nginx telah dimulakan sebelum pemasangan, dan kini ia melaporkan ralat bahawa nombor port adalah diduduki apabila ia dimulakan semula

Bagaimana untuk mengkonfigurasi mengimbangi beban Nginx berbilang kucing jantan di bawah Linux

Pada masa ini kami menggunakan arahan Semak penghunian setiap nombor port

[root@aliserver ~]# netstat -ntpl

Bagaimana untuk mengkonfigurasi mengimbangi beban Nginx berbilang kucing jantan di bawah Linux

Kami melihat bahawa nginx diduduki oleh pid 9097. Gunakan kill -9 untuk membunuhnya

[root@aliserver ~]# kill -9 9097

Mulakan nginx sekali lagi

[root@aliserver ~]# /usr/local/nginx/sbin/nginx

Tiada respons, betul sekarang masukkan alamat pelayan anda dalam penyemak imbas

Bagaimana untuk mengkonfigurasi mengimbangi beban Nginx berbilang kucing jantan di bawah Linux

Ini bermakna nginx dimulakan dengan jayanya Sama ada konfigurasi betul dan sama ada beban boleh diseimbangkan kini disahkan. . .

Lima: Pengesahan

Kita semua tahu bahawa apabila mengimbangi beban nginx, semua permintaan pelanggan melalui nginx, maka nginx boleh memutuskan kepada siapa untuk memajukan permintaan ini, jika Pelayan A mempunyai lebih banyak sumber yang mencukupi (lebih banyak CPU, memori yang lebih besar, dsb.), dan Pelayan B tidak mempunyai keupayaan pemprosesan sekuat Pelayan A. Kemudian nginx akan memajukan lebih banyak permintaan kepada Pelayan A dan lebih sedikit permintaan kepada Pelayan B, supaya Ini mencapai pengimbangan beban, dan walaupun salah satu pelayan tidak berfungsi, pengguna masih boleh mengakses tapak web seperti biasa.

Sebelum mengesahkan, anda perlu membuat beberapa persediaan.

1: Sediakan jsp yang lebih mudah, seperti:

Bagaimana untuk mengkonfigurasi mengimbangi beban Nginx berbilang kucing jantan di bawah Linux

Saya mempunyai 4 kucing jantan yang dipasang pada pelayan, jadi saya menyediakan empat indeks. fail jsp

ialah

<title>tomcat8080<title> <h1>hellow tomcat_8080</h1>
<title>tomcat8081<title> <h1>hellow tomcat_8081</h1>
<title>tomcat8082<title> <h1>hellow tomcat_8082</h1>
<title>tomcat8083<title> <h1>hellow tomcat_8083</h1>

Apa yang perlu diperhatikan di sini ialah: nama fail jsp mestilah index.jsp, kerana gambar tomcat bermula dengan jayanya adalah seperti yang ditunjukkan dalam gambar:

Bagaimana untuk mengkonfigurasi mengimbangi beban Nginx berbilang kucing jantan di bawah Linux

Bacaan ialah webapps/root/index.jsp dalam direktori pemasangan tomcat

Alamat saya ialah: /usr/java/tomcat/ tomcat_8080/ webapps/root

Bagaimana untuk mengkonfigurasi mengimbangi beban Nginx berbilang kucing jantan di bawah Linux

Tulis ganti setiap fail index.jsp lalai tomcat dengan empat fail index.jsp yang disediakan sebelum ini.

Mulakan setiap kucing jantan

[root@aliserver bin]# ./startup.sh

Pada masa ini, kami memasukkan xxx.xxx.xx.xx:8080 dalam penyemak imbas Anda akan mendapati bahawa anak kucing itu tidak lagi muncul, tetapi. . . . . .

Bagaimana untuk mengkonfigurasi mengimbangi beban Nginx berbilang kucing jantan di bawah Linux

Bagaimana untuk mengkonfigurasi mengimbangi beban Nginx berbilang kucing jantan di bawah Linux

Bagaimana untuk mengkonfigurasi mengimbangi beban Nginx berbilang kucing jantan di bawah Linux

Bagaimana untuk mengkonfigurasi mengimbangi beban Nginx berbilang kucing jantan di bawah Linux

Keempat-empat kucing jantan telah bermula dengan jayanya, dan nginx juga telah bermula dengan jayanya.

Pada masa ini, masukkan IP pelayan anda dalam penyemak imbas dan teruskan menyegarkan halaman Anda akan mendapati halaman tersebut akan memaparkan 8080 untuk seketika, 8081 untuk seketika, 8082 untuk seketika dan 8083 untuk seketika. sementara. Sudah tentu, ini adalah nginx yang menentukan ke mana permintaan itu pergi berdasarkan pelayan yang mempunyai lebih banyak sumber Alamat permintaan kami dalam penyemak imbas tetap tidak berubah, tetapi kami mengakses pelayan tomcat yang berbeza. Ini bermakna nginx berjaya dikonfigurasikan.

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi mengimbangi beban Nginx berbilang kucing jantan di bawah Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam