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上的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: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 是负载因子,数字越大,表示请求的概率越大
- 大小: 15.1 KB
分享到:
相关推荐
"Apache + Tomcat 负载平衡"的组合是业界常见的解决方案,用于解决高并发访问时服务器压力过大、读取文件速度慢等问题。下面将详细介绍这个主题的相关知识点。 首先,Apache HTTP Server(简称Apache)是一款开源的...
这依赖于`worker.loadBalancer.balance_workers`配置中的正确设置。 6. **监控和日志**: 集群的监控非常重要,可以使用Apache的`mod_status`模块来查看服务器状态,以及Tomcat的管理界面来监控每个实例的性能和...
- 常见的设计模式包括本地服务器负载均衡(Local Server Load Balance)和全局服务器负载均衡(Global Server Load Balance)。 - **负载均衡方法**: - DNS轮询:通过DNS解析时的轮询机制实现负载均衡。 - IP哈希:...
标题"Tomcat5基于JK的集群(Cluster)和负载平衡(Load Balance)"提及了两个核心概念:Tomcat集群和负载平衡。Tomcat是Apache软件基金会的开源Java Servlet容器,用于部署和运行Java web应用程序。集群是在多台...
worker.loadbalancer.balance_workers=worker1,worker2 worker.loadbalancer.sticky_session=true ``` 这个配置创建了两个 AJP 连接的 worker(worker1 和 worker2),以及一个负载平衡器(loadbalancer),使用...
例如,可以使用`worker.loadbalancer.type=lb`创建一个负载均衡器worker,并通过`worker.loadbalancer.balance_workers`指定参与负载平衡的worker列表。 在实际部署中,除了上述配置,还需要确保Apache和Tomcat之间...
负载均衡(Load Balance)则是集群的核心组成部分,它通过特定算法将请求分发到集群内的各个服务器,使得服务器之间的负载相对均衡,提高了系统的处理能力和可用性。 负载均衡有多种实现方式: 1. 基于DNS的负载...
Tomcat的集群(Cluster)和负载均衡(Load Balance)是高级特性,用于提高服务的可用性和性能。集群允许多个Tomcat实例协同工作,看起来像是单一的服务,通过网络共享内存进行通信。负载均衡则是在多个服务器之间...
负载均衡的策略主要包括本地负载均衡(Local Server Load Balance)和全局负载均衡(Global Server Load Balance)。其中: - **本地负载均衡**:适用于在同一地理区域内的服务器集群之间进行负载均衡。 - **全局...
描述了apache jboss3.2.6做负载均衡(load balance)的部署细节以及一些常见错误说明;描述了部署jboss3.2.3/3.2.6时一些心得、常用配置项。 目 录 1 .Apache2.0及连接器jk1.2的编译部署 4 1.1下载相关软件包 ...
2. **负载均衡集群 (Load Balance Cluster)**:此类集群中的所有节点都处于活动状态并分担工作负载,适用于 Web 服务器、数据库服务器和应用服务器等场景。 3. **科学计算集群 (High Performance Computing Cluster,...
1. WEB Loadbalance 3 2. HTTP Session复制 3 3. JNDI 3 4. EJB 3 第二部分 集群物理实现 4 1. 物理架构 4 2. 机器网址分配 4 3. 软件环境 4 第三部分 集群配置 5 1. Apache 配置 5 2. Tomcat配置 6 3. Jboss配置 6 ...
worker.loadbalancer.balance_workers=worker1,worker2 worker.loadbalancer.method=lc ``` 6. **监控与故障恢复**: 通过JK的健康检查功能,可以定期检测worker的状态,当检测到某个worker不可用时,自动将流量...
- **负载均衡**:负载均衡策略,如 Random LoadBalance、RoundRobin LoadBalance 等。 - **线程模型**:配置线程池的使用。 - **直连提供者**、**只订阅**、**只注册**、**静态服务**等高级配置。 - **多协议、多...