1、Tomcat自行下載安裝,步驟省略
注意修改需要集羣的兩個(或者多個)的Tomcat端口
2、Tomcat修改文件server.xml
(1)端口號
tomcat1 :端口號8086
tomcat2:端口號8089
(2)配置Engine
節點的路由信息,session複製和負載均衡需要用
修改 <Engine defaultHost="localhost" name="Catalina" >,添加 jvmRoute="tomcat1"
Tomcat1:添加 jvmRoute="tomcat1"
Tomcat2:添加 jvmRoute="tomcat2"
(3)Tomcat1和Tomcat2 都修改 <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 添加以下內容
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 這是原來的,現註釋掉-->
<!--開始-->
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
channelSendOptions="8">
<Manager className="org.apache.catalina.ha.session.DeltaManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/>
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.4"
port="45564"
frequency="500"
dropTime="3000"/>
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="4008"
autoBind="100"
selectorTimeout="5000"
maxThreads="6"/>
<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
filter=""/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
<ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener" />
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener" />
</Cluster>
3、Tomcat(Tomcat1跟Tomcat2都加)下添加測試項目
tomcat/webapps/路徑下新建test文件夾,文件夾下添加index.jsp,代碼如下
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%
System.out.println("hello");
%>
it work
</body>
</html>
4.官網下載Apache :http://httpd.apache.org/download.cgi,下載後解壓即可
(1)
(2)
(3)
5、利用http代理處理tomcat和apache的鏈接 ,修改Apache文件
(1)apache conf的目錄下新建一個balance.conf配置文件,內容如下
#提供基礎的代理功能
LoadModule proxy_module modules/mod_proxy.so
#提供負載均衡的功能
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#代理http協議
LoadModule proxy_http_module modules/mod_proxy_http.so
#負載均衡的算法模塊
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
#兼容低版本訪問
LoadModule access_compat_module modules/mod_access_compat.so
ProxyRequests Off
ProxyPass / balancer://mycluster/
#設置代理的算法
#ProxySet lbmethod=bytraffic
#代理關聯配置loadfactor可以分發請求權重,loadfactor越大,權重越大
<Proxy balancer://mycluster>
BalancerMember http://localhost:8089 loadfactor=1 route=tomcat1
BalancerMember http://localhost:8086 loadfactor=1 route=tomcat2
</Proxy>
#負載均衡控制檯,通過http://localhost/balancer-manager 訪問
<Location /balancer-manager>
SetHandler balancer-manager
Order Deny,Allow
Allow from all
#Allow from localhost
</Location>
(2)Apache的conf/httpd.conf將balance.conf引進去,在httpd.conf最下面通過下面語句引入
Include conf/balance.conf
6、修改Apache conf/hpptd.conf端口以及地址
(1)39行,修改爲你的Apache安裝地址
(2)端口號默認80,可能會有衝突,如果衝突可以修改爲其他端口號
7、啓動Tomcat
8、啓動Apache
(1)安裝服務
C:\Apache24\bin> httpd -k install
(2)在啓動Apache服務之前,可以使用下面的命令來檢查配置文件的正確性。
C:\Apache24\bin> httpd -n Apache2.4 -t
(3)啓動已經安裝的服務
C:\Apache24\bin> httpd -k start
(4)停止一個已經安裝的服務
C:\Apache24\bin> httpd -k stop
9、服務啓動後,訪問,Apache的端口,我的端口是8080
http://localhost:8088/test/index.jsp
不停的刷新頁面,可以看到是兩個Tomcat輪流被訪問
參考文檔: