Tomcat Load Balancer z Apache z Mod Proxy in Session Sticky

Konfigurirajte Tomcat s programom Apache Proxy modul in lepljiva seja


Konfiguriranje Tomcat Load Balancerja s spletnim strežnikom Apache s pomočjo Mod Proxy je precej enostavno.

Ko sledite zaporedju, je enostavno, in vse gre dobro. Navedel sem po korakih po korakih, kako konfigurirati Apache s Tomcatom, da konfigurirate Load Balancer z Mod Proxy.

Zaradi boljše razpoložljivosti je v proizvodnem okolju vedno priporočljivo uravnotežiti obremenitev.

Konfiguracija spletnega strežnika Apache

  • Omogoči proxy_module, proxy_balancer_module in proxy_http_module v httpd.conf spletnega strežnika Apache

LoadModule proxy_module module / mod_proxy.so
LoadModule proxy_balancer_module module / mod_proxy_balancer.so
LoadModule proxy_http_module module / mod_proxy_http.so

Dodajte proxy pass skupaj z imenom izravnalnika za koren konteksta aplikacije.

V tem primeru imam pot proxyja kot primere in ime izravnalnika kot mikluster.

Zelo pomembno je vključiti lepljivo poseganje ker ni te možnosti, bo enaka zahteva razdeljena na več strežnikov Tomcat in imeli boste težave s potekom seje v aplikaciji.

ProxyRequests Off
ProxyPass / uravnotežilec primerov: // mycluster stickysession = JSESSIONID
ProxyPassReverse / izravnava primerov: // mycluster stickysession = JSESSIONID

BalancerMember http: // localhost: 8080 / primeri route = server1
BalancerMember http: // localhost: 8090 / primeri route = server2

Kot lahko vidite v zgornji konfiguraciji, sem v BalancerMember dodal pot, tako da lahko vrednost poti dodate ID-ju seje.

Zdaj pa konfiguriramo Apache za tiskanje JSESSIONID v dostopnih dnevnikih.

  • V direktivo LogFormat dodajte naslednje

% {JSESSIONID} C

Primer:

LogFormat "% h% l% u% t "% r" %>s% b "% {Referer} i" "% {Uporabniški agent} i""% {JSESSIONID} C"" kombinirani

  • Znova zaženite spletni strežnik Apache

Konfiguracija Tomcat

Primere tomcat morate konfigurirati z istim ID-jem poti kot v BalancerMember nad.

  • Dodajte jvmRoute parameter v server.xml Tomcat. To je treba dodati v oznako imena motorja.

Primerek Tomcat, konfiguriran s 8080 pristanišče

Primerek Tomcat, konfiguriran s 8090 pristanišče

  • Znova zaženite strežnik Tomcat

Preverjanje

Ustvarite nekaj obremenitve aplikacije in preverite dnevnik dostopa do strežnika apache, da zagotovite, da bo vaša zahteva usmerjena samo v en primerek tomcat.

Opazili boste tudi, da je vaš ID seje dodan poti, kot je prikazano v spodnjem primeru.

Primer:

127.0.0.1 – – [18 / sep / 2013: 10: 02: 02 +0800] "POST / primeri / servlets / servlet / RequestParamExample HTTP / 1.1" 200 662 "http: // localhost / primeri / servlets / servlet / RequestParamExample" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 / sep / 2013: 10: 02: 06 +0800] "GET / primeri / servlets / servlet / RequestInfoExample HTTP / 1.1" 200 693 "http: // localhost / primeri / servlets /" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 / sep / 2013: 10: 02: 17 +0800] "GET /examples/servlets/reqinfo.html HTTP / 1.1" 200 3607 "http: // localhost / primeri / servlets /" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 / sep / 2013: 10: 02: 20 +0800] "GET / primeri / servlets / servlet / SessionExample HTTP / 1.1" 200 1124 "http: // localhost / primeri / servlets /" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 / sep / 2013: 10: 02: 26 +0800] "POST / primeri / servlets / servlet / SessionExample HTTP / 1.1" 200 1142 "http: // localhost / primeri / servlets / servlet / SessionExample" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 / sep / 2013: 10: 02: 28 +0800] "GET / primeri / servlets / servlet / SessionExample? Dataname = fda&datavalue = fadaf HTTP / 1.1" 200 1159 "http: // localhost / primeri / servlets / servlet / SessionExample" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B4EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 / sep / 2013: 10: 02: 32 +0800] "GET / primeri / servlets / servlet / SessionExample? Dataname = foo&podatkovna vrednost = bar HTTP / 1.1" 200 1174 "http: // localhost / primeri / servlets / servlet / SessionExample? dataname = fda&datavalue = fadaf" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"
127.0.0.1 – – [18 / sep / 2013: 10: 02: 36 +0800] "GET / primeri / servlets / servlet / RequestHeaderExample HTTP / 1.1" 200 1423 "http: // localhost / primeri / servlets /" "Mozilla / 5.0 (X11; Linux x86_64; rv: 17.0) Gecko / 20130807 Firefox / 17.0""B80557A1D9B48EC1D73CF8C7482B7D46.server2"

Upam, da vam to pomaga pri konfiguraciji Tomcat Load Balancerja z Apache Mod Proxy in Session Sticky.

Če želite izvedeti več o Tomcatovi administraciji, to preverite spletni tečaj.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map