LOADING STUFF...

apache,tomcat ,loadbalance

–>

 

Apache+Tomcat ,load balance

 

 

1.编译httpd apache 版本要在2.2 之上

./configure –with-apr=/usr/local/apr
–with-apr-util=/usr/local/apr-util –with-pcre=/usr/local/pcre
–prefix=/ceno/product/httpd –enable-module=vhost_alias –enable-module=so –enable-proxy
–enable-proxy-ajp  –enable-proxy-balancer
–enable-proxy-http

Make

Make install

 

 

 

查看有没有配置mod_proxy

步骤一:

 执行/ceno/product/httpd/bin/httpd
–l
命令,查看结果中有没有列出如下内容:

  mod_proxy.c

 
mod_proxy_connect.c

 
mod_proxy_ftp.c

 
mod_proxy_http.c

 
mod_proxy_scgi.c

 
mod_proxy_ajp.c

 
mod_proxy_balancer.c

 如果有,即说明已经安装了,不在进行步骤二。如果没有,则进入步骤二

 

步骤二:

  进入到/ceno/product/httpd/modules
(httpd
的安装目录) 查看有没有

    mod_proxy_balancer.so

mod_proxy_http.so

mod_proxy.so

如果有,则说明安装成功,不再进行步骤三,否则进入步骤三进行安装

步骤三:安装

 

cd /work/apache/httpd-2.2.21/modules/proxy  apache 源文件下载的解压目录

 

/ceno/product/httpd/bin/apxs -c –i mod_proxy.c
proxy_util.c

/ceno/product/httpd/bin/apxs -c –i mod_proxy_balancer.c

/ceno/product/httpd/bin/apxs -c –i mod_proxy_http.c

 

出现下面这个,则提示安装成功:

———————————————————————-

Libraries have been installed in:

  
/ceno/product/httpd/modules

 

 

 

 

3.配置httpd.conf文件(ajp 协议)

 

###############################################################

#LoadModule proxy_module
“/ceno/product/httpd/modules/mod_proxy.so”

#LoadModule proxy_http_module
“/ceno/product/httpd/modules/mod_proxy_http.so”

#LoadModule proxy_balancer_module “/ceno/product/httpd/modules/mod_proxy_balancer.so”

 

<Proxy balancer://mycluster>

BalancerMember ajp://192.168.7.18:8009
route=worker1 loadfactor=1

BalancerMember ajp://192.168.7.18:8010
route=worker2 loadfactor=1

</Proxy>

<Location /examples>

ProxyPass balancer://mycluster/examples
stickysession=JSESSIONID|jsessionid scolonpathdelim=On

</Location>

 

<Location /balancer-manager>

  SetHandler
balancer-manager

</Location>

 

 

 

说明:

##

3.1.如果在httpd –l 命令中能够列出,则不需要在手动导入三个module

如果是使用 apxs 命令安装的,则需要手动添加三个module

3.2. balancer://mycluster 配置apache服务器负载均衡集群

这里使用ajp协议连接tomcat

 

3.3配置访问路径

 

Stickysessio=
JSESSIONID|jsessionid  
配置同一个sessionid的请求都发往同一台host,等号右边的是放置在url上的parametername 或者cookie 中的name,如果cookie 中的name url中的name 不一致,可以用 | 分隔。

scolonpathdelim=on

jsesseionid 前用;分隔开的路径信息 如果需要获取到,则需要将该参数打开,默认该参数为off

 

 

3.4.配置balancer-manager 用来监控 负载均很集群节点,你可以看到如下图

 

 

 

4.配置http.conf(http协议)

 

 

#LoadModule proxy_module
“/ceno/product/httpd/modules/mod_proxy.so”

#LoadModule proxy_http_module
“/ceno/product/httpd/modules/mod_proxy_http.so”

#LoadModule proxy_balancer_module
“/ceno/product/httpd/modules/mod_proxy_balancer.so”

 

<Proxy balancer://mycluster>

#BalancerMember ajp://192.168.7.18:8009
route=worker1 loadfactor=1

#BalancerMember ajp://192.168.7.18:8010
route=worker2 loadfactor=1

BalancerMember http://192.168.7.18:8080
route=worker1 loadfactor=5

BalancerMember http://192.168.7.18:8081
route=worker2 loadfactor=1

</Proxy>

 

<Location /examples>

ProxyPass 
balancer://mycluster/examples stickysession=JSESSIONID|jsessionid
scolonpathdelim=On

</Location>

 

 

<Location />

ProxyPass 
balancer://mycluster/ stickysession=JSESSIONID|jsessionid
scolonpathdelim=On

</Location>

<Location /balancer-manager>

  SetHandler
balancer-manager

</Location>

 

 

 

说明:

 BalancerMember
http://192.168.7.18:8080 route=worker1 loadfactor=5

BalancerMember http://192.168.7.18:8081
route=worker2 loadfactor=1

 

将其中的协议由 ajp变成httpd

 

其中route对应的name 要和tomcat conf/server.xml 文件中每个engine 配置的jvmRoute一致。

 

Loadfactor 是负载因子,数字越大,表示请求的概率越大

 

本文来源 互联网收集,文章内容系作者个人观点,不代表 本站 对观点赞同或支持。如需转载,请注明文章来源,如您发现有涉嫌抄袭侵权的内容,请联系本站核实处理。

© 版权声明

相关文章