使用Apache2.4+Tomcat9配置负载均衡,无需装载mok_jk文件
来源:互联网 发布:java与 编辑:程序博客网 时间:2024/06/11 16:35
一、准备工作
1、下载apache
官网下载地址http://httpd.apache.org/download.cgi
2、下载tomcat服务器
官网下载地址:http://tomcat.apache.org/
或者可以从我的CSDN资源中下载
Apache地址:
http://download.csdn.net/detail/brianang/9823398
二、修改tomcat配置,本文以两个tomcat服务器为例
1、修改tomcat安装路径/conf/server.xml文件
修改第一个tomcat
修改一:
修改<Server port=" 10010" shutdown="SHUTDOWN">中的port值(自定义未被占用端口即可)
修改二:
修改<Connector port="10001" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />中的port值(自定义未被占用的端口)
修改三:
修改<Connector port="20001" protocol="AJP/1.3" redirectPort="8443" />中的port值(自定义未被占用的端口即可)
修改四:
取消<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">注释,同时添加jvmRooute属性并设值(该值可自定义)
修改第二个tomcat配置
第二个服务器的修改位置同第一个服务器修改文件,注意变更文件中的端口号即可。
三、修改Apache配置
1、修改文件:apache安装路径/cof/httpd.conf文件
修改一:
取消httpd.conf文件中下列so文件注释:
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.soLoadModule proxy_module modules/mod_proxy.soLoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.soLoadModule proxy_connect_module modules/mod_proxy_connect.soLoadModule proxy_ftp_module modules/mod_proxy_ftp.soLoadModule proxy_http_module modules/mod_proxy_http.soLoadModule slotmem_shm_module modules/mod_slotmem_shm.soInclude conf/extra/httpd-vhosts.conf
修改二:
配置DocumentRoot "D:/Workspaces/Apache" 为安装路径
配置<Directory "D:/Workspaces/Apache">为同上安装路径
修改三:
配置ScriptAlias /cgi-bin/ "D:/office_software/Apache24/cgi-bin" 为安装路径/cgi-bin
修改四:
配置
<Directory "D:/office_software/Apache24/cgi-bin">AllowOverride NoneOptions NoneRequire all granted
</Directory>为安装路径/cgi-gin
修改五:
在文件末尾加入以下代码
ProxyRequests Off <Proxy balancer://mycluster> BalancerMember ajp://localhost:20001/ loadfactor=1 route=jvm1BalancerMember ajp://localhost:20002/ loadfactor=1 route=jvm1</Proxy>
注意:BalancerMember中的ajp端口号必须与tomcat文件中的<Connector port="20001" protocol="AJP/1.3" redirectPort="8443" />port属性 端口号一致,route值必须与tomcat文件中的<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">jvmRoute属性值一致
2、修改apache安装路径/conf/extra/httpd-vhosts.conf文件
在文件末尾加入以下代码
<VirtualHost *:81>ServerName 127.0.0.1ServerAlias localhostProxyPass / balancer://mycluster/ stickysession=jsessionid nofailover=OnProxyPassReverse / balancer://mycluster/ErrorLog "logs/lbtest-error.log"CustomLog "logs/lbtest-access.log" common</VirtualHost>
注意:VirtualHost *:81中端口号81必须与httpd.conf文件件中的Listen 127.0.0.1:81端口号一致
四、编写测试
1、使用myeclipse或eclipase新建web项目后编写index文件如下
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>Cluster App Test</title></head><body>Server Info:<%out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%><%out.println("<br> ID " + session.getId()+"<br>");// 如果有新的 Session 属性设置System.out.println( "=========test==========");%></table></form></body></html>
2、在web.xml文件中加入如下代码启用Session复制
<distributable/>
五、安装apache启动tomcat,启用负载均衡
1、安装apache服务
方式一:可以使用apache安装路径/bin/ApacheMonitor.exe来安装apache服务
方式二:也可使用dos命令:进入apache安装路径/bin后httpd -k install -n "server name"如http -k install -n "apacheserver"安装服务
2、启动两个tomcat服务器后,最后启动apache服务
3、测试
在浏览其中输入http://localhost:81可看到测试tomcat主页,输入http://localhost:81/项目名称 可看到项目主页,及负载均衡配置结果
至此apache2.4+tomcat负载均衡配置完毕
以下提供一下我的配置源码供大家参考(码字不易,谢谢大家的支持):
http://download.csdn.net/detail/brianang/9823560
- 使用Apache2.4+Tomcat9配置负载均衡,无需装载mok_jk文件
- Apache2.4负载均衡配置
- Apache2 + Tomcat6配置负载均衡
- Apache2+Tomcat7负载均衡配置
- Apache2.4+Tomcat9.0配置反向代理
- Apache2.4+Tomcat9.0配置反向代理
- Apache2.4+Tomcat9.0配置反向代理
- Apache2.4+Tomcat8负载均衡
- apache2.4 + mod_proxy + tomcat7 配置集群和负载均衡
- Tomcat 6+Apache2.2负载均衡配置
- apache2.4实现tomcat负载均衡
- apache2.2.4 负载均衡
- Apache2+Tomcat6负载均衡
- Apache2+tomcat6负载均衡
- Windows环境下配置Apache2.4+Tomcat7的负载均衡配置
- Apache2.4+tomcat7.0 配置反向代理和负载均衡及session集群
- Apache2.2+Tomcat5.5负载均衡+集群配置
- tomcat5.5+apache2.2负载均衡集群配置
- Android MVP架构学习笔记
- Unity3D游戏开发之Lua与游戏的不解之缘(转载中)
- order By
- 使用Java进行FreeMarker的web模板开发的基础教程
- 甭想糊弄:SUSE官方发布权威视频,纠正错误读音
- 使用Apache2.4+Tomcat9配置负载均衡,无需装载mok_jk文件
- leetcode28. Implement strStr()
- leetcode-第十周
- cmd窗体编码
- Unity3D游戏开发之Lua与游戏的不解之缘下
- PHP实现基于mysqli的Model基类完整实例
- strlen的模拟实现
- IMWeb前端学习笔记——Day8
- 为什么Thinkphp 中的<if><volist>等标签不能用