apache2.4+tomcat集群

it2026-04-21  11

非常感谢 http://andashu.blog.51cto.com/8673810/1381369

一、安装JDK

tar -xzvf xxx.tar.gz chmod 777 -R /opt/jdk1.6.0_45/ 配置 JAVA环境变量: vim /root/.bashrc  在最后添加以下内容:

export JAVA_HOME=/opt/jdk1.6.0_45 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=".;$JAVA_HOME/lib/dt.jar;$JAVA_HOME/lib/tools.jar:$CLASSPATH"

使环境变量生效: source /root/.bashrc 测试配置是否成功: java –version

二、安装TOMCAT

apache-tomcat-7.0.41.tar.gz

#tar -zxvf apache-tomcat-6.0.18.tar.gz #./apache-tomcat-6.0.18/bin/startup.sh

可访问  http://192.168.0.101:8080

重启命令:

#./apache-tomcat-6.0.18/bin/shutdown.sh

#./apache-tomcat-6.0.18/bin/startup.sh

三、TOMCAT集群

1.两个tomcat

#mv apache-tomcat-6.0.18 /usr/local/TC6_A #cd /usr/local #cp -a TC6_A TC6_B

2.修改 两个Tomcat 实例监听的端口

# vim /usr/local/TC6_A/conf/server.xml

Server<Server port="8005" shutdown="SHUTDOWN"><Server port="10005" shutdown="SHUTDOWN">20005AJP Connector

<!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port = "8009" protocol = "AJP/1.3" redirectPort = "8443" />

<!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port = " 10009 " protocol = "AJP/1.3" redirectPort = " 10043 " />

10009 20043

HTTP

Connector

<Connector port = "8080" protocol = "HTTP/1.1" connectionTimeout = "20000" redirectPort = "8443" />

<Connector port = "10001" protocol = "HTTP/1.1" connectionTimeout = "20000" redirectPort = "10043" />

20001 20043Engine

<!-- You should set jvmRoute to support load-balancing via AJP ie : <Engine name = "Standalone" defaultHost = "localhost" jvmRoute = "jvm1"> <Engine name = "Catalina" defaultHost = "localhost"> -->

<Engine name = "Standalone" defaultHost = "localhost" jvmRoute = " Tomcat1"> Tomcat2 Cluster<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 = "4000"

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>

可访问  http://192.168.0.101:10001  http://192.168.0.101:20001

 

3、测试页面

/usr/local/TC6_A/webapps/ROOT 、/usr/local/TC6_B/webapps/ROOT 目录下 vim Hello.jsp。

<%@ page contentType="text/html;charset=GBK"%> <html> <head> <title>Tomcat 测试 </title> </head> <body> <font color="red" size="20"> <!— 使用 out 内建对象打印一条消息到输出页面 --> <% out.print( "Tomcat 集群测试 A !!! " ); %> </font> </body> </html>

TC6_B的改一行输出: <% out.print( "Tomcat 集群测试 B !!! " ); %>

可访问  http://192.168.0.101:10001/Hello.jsp  、http://192.168.0.101:20001/Hello.jsp

    

 

 

四、Apache负载均衡器

1.安装

# tar -zxvf httpd-2.4.10.tar.gz

# cd httpd-2.4.10

#./configure --prefix=/usr/local/apache2  --enable-cache --enable-disk-cache -enable-mem-cache --enable-file-cache --with-ssl --enable-ssl --enable-so --enable-mime-magic --enable-proxy --enable-proxy-ajp --enable-proxy-balancer --enable-mods-shared=most --with-mpm=worker --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre/

# make # make install

2.配置Apache 为 Tomcat 集群的负载均衡器

vim /usr/local/apache2/conf/httpd.conf

加载:

LoadModule rewrite_module modules/mod_rewrite.so LoadModule slotmem_shm_module modules/mod_slotmem_shm.so LoadModule speling_module modules/mod_speling.so LoadModule ssl_module modules/mod_ssl.so

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

#:如果只是修改配置 不编译重装的话 打开:

LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule slotmem_shm_module modules/mod_slotmem_shm.so

LoadModule speling_module modules/mod_speling.so LoadModule ssl_module modules/mod_ssl.so

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

末尾添加:

ProxyRequests Off ProxyPass / balancer://myCluster/ <Proxy balancer://myCluster/> BalancerMember ajp://localhost:10009 route=Tomcat1 BalancerMember ajp://localhost:20009 route=Tomcat2 </Proxy>

说明:其中" myCluster "是集群的名称," ajp://localhost:10009 route=Tomcat1 " 对应 Tomcat 集群中的 TC6_A 实例," ajp://localhost:20009 route=Tomcat2 " 对应 Tomcat 集群中的 TC6_B 实例。

3.访问页面

重启apache httpd后,访问:http://192.168.0.101/Hello.jsp

由 于 Apache 为 Tomcat 集群的负载均衡器,使用的是轮换算法,其均匀地将请求发送到集群中的各个 Tomcat 实例。因此轮换访问两个不同 Tomcat 实例中的 Hello.jsp 。

[root@centos1 opt]# netstat -tnlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1078/sshd           tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1554/master         tcp        0      0 :::20009                    :::*                        LISTEN      2427/java           tcp        0      0 :::3306                     :::*                        LISTEN      1452/mysqld         tcp        0      0 :::80                       :::*                        LISTEN      23130/httpd         tcp        0      0 :::30001                    :::*                        LISTEN      2471/java           tcp        0      0 :::10001                    :::*                        LISTEN      2396/java           tcp        0      0 :::81                       :::*                        LISTEN      1564/httpd          tcp        0      0 ::ffff:127.0.0.1:30005      :::*                        LISTEN      2471/java           tcp        0      0 ::ffff:127.0.0.1:10005      :::*                        LISTEN      2396/java           tcp        0      0 :::22                       :::*                        LISTEN      1078/sshd           tcp        0      0 :::30009                    :::*                        LISTEN      2471/java           tcp        0      0 :::10009                    :::*                        LISTEN      2396/java           tcp        0      0 ::1:25                      :::*                        LISTEN      1554/master         tcp        0      0 ::ffff:127.0.0.1:4000       :::*                        LISTEN      2396/java           tcp        0      0 ::ffff:127.0.0.1:4001       :::*                        LISTEN      2427/java           tcp        0      0 :::20001                    :::*                        LISTEN      2427/java           tcp        0      0 ::ffff:127.0.0.1:4002       :::*                        LISTEN      2471/java           tcp        0      0 ::ffff:127.0.0.1:20005      :::*                        LISTEN      2427/java

转载于:https://www.cnblogs.com/stay-sober/p/4207312.html

相关资源:Apache2.4+Tomcat8.0集群安装--测试项目
最新回复(0)