Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk membina pelayan pengimbangan beban berdasarkan Centos7+Nginx+Tomcat8

Bagaimana untuk membina pelayan pengimbangan beban berdasarkan Centos7+Nginx+Tomcat8

PHPz
PHPzke hadapan
2023-05-26 11:43:131630semak imbas

Selepas memasang nginx secara manual, semuanya normal, hos maya dan konfigurasi pengimbangan beban semuanya tanpa sebarang masalah. Ia berjaya didayakan. Fail konfigurasi khusus adalah seperti berikut:

Ditambah: masukkan vhost/*.conf ke fail nginx.conf conf untuk memperkenalkan semua fail .conf dalam direktori vhost untuk konfigurasi masa hadapan. Mudah, sudah tentu, anda boleh menambahnya satu persatu jika perlu.

Oleh kerana perkhidmatan muat adalah perkhidmatan api, nama fail conf di sini dipanggil api.xxx.com.conf Konfigurasi untuk membuka fail adalah seperti berikut:

Bagaimana untuk membina pelayan pengimbangan beban berdasarkan Centos7+Nginx+Tomcat8

Kaedah tinjauan IP tidak digunakan di sini, tetapi kaedah usstream digunakan Untuk perbezaan khusus antara kaedah ini, anda boleh Baidu atau Google untuk pengenalan yang berkaitan. Perlu diingat bahawa proxy_pass dikonfigurasikan di sini sebagai nama huluan Lain-lain tidak dibenarkan untuk digunakan Jika alamat IP dikonfigurasikan secara langsung, pengimbangan beban tidak akan dicapai.

Berat yang diwakili oleh berat, semakin besar bilangannya, semakin tinggi beratnya, semakin besar peluang untuk sandaran mewakili pelayan siap sedia panas, iaitu apabila terdapat masalah dengan dua beban pertama. pelayan siap sedia panas Lawatan ini akan diandaikan secara automatik.

Pada ketika ini, konfigurasi pengimbangan beban nginx selesai Namun, disebabkan beban yang terlibat, jika ia adalah URL biasa, kehilangan sesi akan berlaku apabila mengaksesnya adalah perlu untuk menangani masalah kehilangan sesi, untuk menangani masalah ini, terdapat pelbagai penyelesaian Satu adalah menggunakan proksi kuki, dan satu lagi untuk merealisasikan perkongsian sesi konfigurasi perlu dilakukan dalam tomcat Untuk mencapai Keperluan ini, pelayan kongsi sesi yang dikonfigurasikan di sini ialah perkhidmatan memori redis, terutamanya untuk memastikan pembacaan dan penyimpanan data yang cekap Apabila menggunakan redis untuk perkongsian sesi, nama berikut mesti ditambah:

Bagaimana untuk membina pelayan pengimbangan beban berdasarkan Centos7+Nginx+Tomcat8Pakej ini menyokong tomcat8 tanpa sebarang masalah Tiada ujian berkaitan telah dijalankan ke atas status sokongan khusus versi lain.

Kemudian ubah suai fail konfigurasi dalam tomcat:

Bagaimana untuk membina pelayan pengimbangan beban berdasarkan Centos7+Nginx+Tomcat8

Alamat 10.0.0.x yang dilihat di sini semuanya lengkap dalam rangkaian dalaman disekat, dan hanya pelayan yang bertanggungjawab untuk beban disambungkan terus ke rangkaian luaran.

Pada masa ini, pelayan tomcat dan pelayan nginx boleh dimulakan dengan lancar, tetapi sebelum itu, pelayan nginx mesti dimulakan terlebih dahulu, jika tidak tomcat mungkin gagal dimulakan. Perkhidmatan nginx boleh dimulakan dengan lancar

Tiga konfigurasi adalah seperti berikut:

Kandungan rujukan yang ditambahkan dalam nginx.conf

include vhost/*.conf;

Konfigurasi pengimbangan beban:

upstream api.xxx.com {
 server 10.0.0.12:8080 weight=5;
 server 10.0.0.15:8081 weight=5 ;
 server 10.0.0.16:8080 weight=5 backup;
}
server {
 listen    80;
 server_name api.xxx.com;
 location /
  {
   proxy_set_header host $host;
   proxy_set_header x-real-ip $remote_addr;
   proxy_set_header x-forwarded-for $remote_addr;
   proxy_pass http://api.xxx.com;
    }
}

konfigurasi tomcat

<valve classname="com.radiadesign.catalina.session.redissessionhandlervalve" />
<manager classname="com.radiadesign.catalina.session.redissessionmanager" 
       host="10.0.0.16" 
       port="10000" 
       database="0" 
       maxinactiveinterval="60" />

Atas ialah kandungan terperinci Bagaimana untuk membina pelayan pengimbangan beban berdasarkan Centos7+Nginx+Tomcat8. 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