下面安装方法为windows平台
一、下载apache2.4以及tomcat8.0安装包
- Apache2.4:http://www.apachelounge.com/download/ (windows平台可能需要安装 :Visual
C++ Redistributable for Visual Studio 2015 RC)
- tomcat下载地址:http://tomcat.apache.org/download-80.cgi
二、测试启动(解压出一个Apache和两个tomcat)
分别启动apache和tomcat是否成功。Apache 的conf/httpd.conf需要作如下配置:
1、修改ServerRoot Apache的根路径
2、打开ServerName,如下
3、修改DocumentRoot
4、修改入口文件配置:DirectoryIndex(可修改、可不修改)
5、设定serverscript的目录
Apache启动成功后,在浏览器地址栏中输入http://localhost后页面如下:
tomcat8.0需要JDK7.0以上的版本支持,每个tomcat的start.bat需要设置好JAVA_HOME、CLASSPATH、CATALINA_HOME(当前tomcat的CATALINA_HOME)。可以直接修改start.bat如下:
三、更改Apache配置
1、(Apache conf/httpd.conf)修改httpd.conf增加一下模块
#---------------------LoadModule start------------------------ LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.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 #----------------------LoadModule end-------------------------
2、去掉Include conf/extra/httpd-vhosts.conf 的注释标记#
3、在文件末尾加反向代理
ProxyRequests Off <proxy balancer://cluster> BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1 BalancerMember ajp://127.0.0.1:9009 loadfactor=1 route=jvm2 </proxy>
4、修改conf/extra/httpd-vhosts.conf
注释掉所有的dummy-host,添加以下内容
<VirtualHost *:80> ServerAdmin [email protected] ServerName localhost ServerAlias localhost ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On ProxyPassReverse / balancer://cluster/ ErrorLog "logs/lbtest-error.log" CustomLog "logs/lbtest-access.log" common </VirtualHost>
四、更改Tomcat配置:tomcat1使用8080、tomcat2使用9080
1、 更改tomcat2:<Server port="8005" shutdown="SHUTDOWN">修改为9005
2、修改<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />中的端口为9080
3、修改<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />修改为9009
4、修改<Engine name="Catalina" defaultHost="localhost">在末尾加 jvmRoute="jvm2"。同时修改Tomcat1的这个标签为jvmRoute="jvm1" (该标签默认未打开)
Tomcat1:
Tomcat2:
5、修改Tomcat1、Tomcat2 server.xml的<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>改为
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/> </Cluster>
6、部署test项目到Tomcat1和Tomcat2下面,之后分别启动Tomcat1、Tomcat2、Apache。然后在地址栏中输入http://localhost/test/test.jsp进行测试。
测试项目下载地址:http://download.csdn.net/detail/wuxian90/8847303
备注:
Apache启动时可能出现一些错误,常见的错误罗列如下(纠正错误之后需要清除logs下的日志,重新启动)
- AH01177: Failed to lookup provider ‘shm‘ for ‘slotmem‘: is mod_slotmem_shm loaded。放开mod_slotmem_shm
- AH02432: Cannot find LB Method: byrequests。放开lbmethod_byrequests_module
- AH00098: pid fileE:/Java/servers/03_cluster/00-Apache24/logs/httpd.pid
overwritten -- Unclean shutdown of previous Apache run。删掉logs/下的文件即可。