LAMT&LNMT

Tomcat運行方式html

1.standalone configure:tomcat做爲獨立的web服務器和jsp服務器前端

    request ----> web server(tomcat) ----> servlet containernginx

66513265

2.進程間配置,在一臺主機上,web由Apache或nginx提供,jsp服務有servlet提供web

image

3.獨立網絡配置,把提供web服務的主機獨立出來,一臺主機提供web服務,一臺主機提供jsp服務apache

image

web/Apache和後端的servlet通訊有兩種方式:vim

1.mod_jk :Apache/1.3, Apache/2.0;mod_jk經常使用的版本是jk,jk2.0反倒不建議使用,Apache 2.0之前不支持使用mod_proxy後端

2.mod_proxy :Apache/2.2+ , Apache 2.2之後要使用mod_jk須要編譯安裝tomcat

注:通訊協議有 http(https)和ajp服務器

mod_jk V.S. mod_proxy:
        負載均衡 : mod_proxy稍弱一點
        管理接口 : 都支持基於web頁面的管理接口
        兼容性:
        配置 : mod_proxy較簡單
        協議:mod_jk (ajp)一般不使用http, mod_proxy(http/https/ajp)網絡

web/nginx和後端的servlet通訊只能使用http協議

LAMT:
        apache(mod_jk, ajp) + tomcat(ajp )
        apache(mod_proxy, (http, https, ajp)) + tomcat(http, https, ajp)
LNMT:
        nginx + tomcat(http, https)


LNMT實現

48993359

安裝nginx:

  1: rpm -ivh nginx-1.4.7-1.e16.ngx.x86_64.rpm
  2: vim /etc/nginx/nginx.conf
  3: location / {
  4:     #         root   html;
  5:     #         index  index.html index.htm;
  6:          proxy_pass http://192.168.21.1;  #只需加入這一句便可實現最簡單的代理功能,不過咱們這裏不這樣作
  7:          }

配置nginx實現反向代理tomcat和動靜分離

  1: upstream tcser {   #添加後端tomcat主機,這是定義在http段的
  2:         server 192.168.21.1:8080;
  3:         server 192.168.21.2:8080;
  4:         }
  5: location / { 這是server段的
  6:             root   html;
  7:             index  index.jsp index.html index.htm;  增長一個index.jsp的默認主頁
  8:         }   
  9:  location ~* \.(jsp|do)$ {    #全部jsp和do結尾的頁面都代理至後端服務器器
 10:         proxy_pass http://tcser;
 11:         }   


74366218

Apache反代-->mod_proxy,將全部網頁內同都代理至後端,http協議

  1: vim /etc/httpd/conf.d/mod_proxy.conf
  2: ProxyVia on
  3: ProxyRequests off 
  4: ProxyPreserveHost on
  5: 
  6: ProxyPass / http://192.168.21.1/
  7: ProxyPa***everse / http://192.168.21.1/
  8: 
  9: <Location />
 10: Order Allow,Deny
 11: Allow from all
 12: </Location>

Apache反代-->mod_proxy,將全部網頁內同都代理至後端,ajp協議

  1: ProxyVia on
  2: ProxyRequests off
  3: ProxyPreserveHost on
  4: 
  5: ProxyPass / ajp://192.168.21.1:8009/  #ajp監聽的端口是8009
  6: ProxyPa***everse ajp/ http://192.168.21.1:8009/
  7: 
  8: <Location />
  9: Order Allow,Deny
 10: Allow from all
 11: </Location>

Apache反代實現負載均衡

前端Apache服務器:外網:172.16.21.1,內網:192.168.21.3

後端tomcat1:192.168.21.1,後端tomcat2:192.168.21.2

  1: vim /etc/httpd/conf.d/mod_proxy.conf
  2: ProxyVia on
  3: ProxyRequests off 
  4: ProxyPreserveHost on
  5: <Proxy balancer://lb>
  6: BalancerMember http://192.168.21.2 loadfactor=1
  7: BalancerMember http://192.168.21.1 loadfactor=1
  8: </Proxy>
  9: ProxyPass / balancer://lb/
 10: ProxyPa***everse / balancer://lb/
 11: <Location />
 12: Order Allow,Deny
 13: Allow from all
 14: </Location>

Apache反代實現負載均衡以及session綁定

  1: vim /etc/httpd/conf.d/mod_proxy.conf
  2: ProxyVia on
  3: ProxyRequests off 
  4: ProxyPreserveHost on
  5: <Proxy balancer://lb>
  6: BalancerMember http://192.168.21.2 loadfactor=1 route=TomcatB
  7: BalancerMember http://192.168.21.1 loadfactor=1 route=TomcatA
  8: </Proxy>
  9: ProxyPass / balancer://lb/ stickysession=JSESSIONID
 10: ProxyPa***everse / balancer://lb/
 11: <Location />
 12: Order Allow,Deny
 13: Allow from all
 14: </Location>
 15: --------後端服務器需添加----
 16: <Engine name="Catalina" defaultHost="localhost" jvmRoute="TomcatA"> 注意與上面的IP地址對應便可
 17: <Engine name="Catalina" defaultHost="localhost" jvmRoute="TomcatB">

Apache反代實現負載均衡以及session綁定添加管理器

  1: vim /etc/httpd/conf.d/mod_proxy.conf
  2: ProxyVia on
  3: ProxyRequests off
  4: ProxyPreserveHost on
  5: <Proxy balancer://lb>
  6: BalancerMember http://192.168.21.2 loadfactor=1
  7: BalancerMember http://192.168.21.1 loadfactor=1
  8: </Proxy>
  9: <Location /lbmanager>  定義管理web功能
 10: SetHandler balancer-manager
 11: </Location>
 12: Proxypass /lbmanager !  #這裏表示/lbmanager不向後轉發
 13: ProxyPass / balancer://lb/
 14: ProxyPa***everse / balancer://lb/
 15: <Location />
 16: Order Allow,Deny
 17: Allow from all
 18: </Location>
本站公眾號
   歡迎關注本站公眾號,獲取更多信息