apache,tomcat ,loadbalance
Apache+Tomcat ,load balance1.编译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.cproxy_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:8009route=worker1 loadfactor=1
BalancerMember ajp://192.168.7.18:8010route=worker2 loadfactor=1
</Proxy>
<Location /examples>
ProxyPass balancer://mycluster/examplesstickysession=JSESSIONID|jsessionid scolonpathdelim=On
</Location>
<Location /balancer-manager>
SetHandlerbalancer-manager
</Location>
说明:
##
3.1.如果在httpd –l 命令中能够列出,则不需要在手动导入三个module
如果是使用 apxs 命令安装的,则需要手动添加三个module
3.2. balancer://mycluster 配置apache服务器负载均衡集群
这里使用ajp协议连接tomcat
3.3配置访问路径
Stickysessio=JSESSIONID|jsessionid 配置同一个sessionid的请求都发往同一台host,等号右边的是放置在url上的parameter的name 或者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:8009route=worker1 loadfactor=1
#BalancerMember ajp://192.168.7.18:8010route=worker2 loadfactor=1
BalancerMember http://192.168.7.18:8080route=worker1 loadfactor=5
BalancerMember http://192.168.7.18:8081route=worker2 loadfactor=1
</Proxy>
<Location /examples>
ProxyPass balancer://mycluster/examples stickysession=JSESSIONID|jsessionidscolonpathdelim=On
</Location>
<Location />
ProxyPass balancer://mycluster/ stickysession=JSESSIONID|jsessionidscolonpathdelim=On
</Location>
<Location /balancer-manager>
SetHandlerbalancer-manager
</Location>
说明:
BalancerMemberhttp://192.168.7.18:8080 route=worker1 loadfactor=5
BalancerMember http://192.168.7.18:8081route=worker2 loadfactor=1
将其中的协议由 ajp变成httpd
其中route对应的name 要和tomcat 中 conf/server.xml 文件中每个engine 配置的jvmRoute一致。
Loadfactor 是负载因子,数字越大,表示请求的概率越大
页:
[1]