ApacheTomcat集群负载均衡要点文档格式.docx
- 文档编号:16714362
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:21
- 大小:237.22KB
ApacheTomcat集群负载均衡要点文档格式.docx
《ApacheTomcat集群负载均衡要点文档格式.docx》由会员分享,可在线阅读,更多相关《ApacheTomcat集群负载均衡要点文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
//httpd.apache.org/下载Apache2.0.55
//tomcat.apache.org/download-55.cgi下载tomcat5.5zip版本(解压即可,绿色版)
//apache.justdn.org/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.15/下载mod_jk,注意和apache版本匹配
按照jdk,我的路径为:
E:
\ide\apache\Apache2
解压两份Tomcat,路径分别为E:
\ide\tomcat1,E:
\ide\tomcat2
下载mod_jk
2.2修改Apache配置文件http.conf
在apache安装目录下conf目录中找到http.conf
在文件最后加上下面一句话就可以了
include"
\ide\apache\Apache2\conf\mod_jk.conf"
2.3http.conf同目录下新建mod_jk.conf文件,内容如下
#加载mod_jkModule
LoadModulejk_modulemodules/mod_jk-1.2.27-httpd-2.0.63.so
#指定workers.properties文件路径
JkWorkersFileconf/workers.properties
#指定那些请求交给tomcat处理,"
controller"
为在workers.propertise里指定的负载分配控制器
2.4JkMount/*.jspcontroller在http.conf同目录下新建workers.properties文件,内容如下
worker.list=controller,tomcat1,tomcat2#server列表
#========tomcat1========
worker.tomcat1.port=8009#ajp13端口号,在tomcat下server.xml配置,默认8009
worker.tomcat1.host=localhost#tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1#server的加权比重,值越高,分得的请求越多
#========tomcat2========
worker.tomcat2.port=9009#ajp13端口号,在tomcat下server.xml配置,默认8009
worker.tomcat2.host=localhost#tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1#server的加权比重,值越高,分得的请求越多
#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2#指定分担请求的tomcat
worker.controller.sticky_session=1
2.5修改tomcat配置文件server.xml
如果你在不同电脑上安装tomcat,tomcat的安装数量为一个,可以不必修改tomcat配置文件,我这里是在同一台电脑上安装两个tomcat,所以需要更改其中一个的设置,打开tomcat2/conf/server.xml文件
2.6编写一个测试jsp
建立一个目录test.里面新建一个test.jsp,内容为
<
%
System.out.println("
==========================="
);
%>
把test放到tomcat1,tomcat2的webapps下
2.7启动apache,tomcat1,tomcat2,进行测试
通过http:
//localhost/test/test.jsp访问,查看tomcat1的窗口,可以看到打印了一行"
=========="
再刷新一次,tomcat2也打印了一条,再刷新,可以看到请求会被tomcat1,tomcat2轮流处理,实现了负载均衡
3配置集群
只配置负载均衡还不行,还要session复制,也就是说其中任何一个tomcat的添加的session,是要同步复制到其它tomcat,集群内的tomcat都有相同的session
3.1修改tomcat1,tomcat2的server.xml
将集群部分配置的在注释符删掉,并将tomcat2的4001端口改为4002,以避免与tomcat冲突,当然,如果是两台电脑,是不用改端口的,去掉注释符即可
3.2修改测试项目test
修改test.jsp,内容如下
%@pagecontentType="
text/html;
charset=GBK"
%@pageimport="
java.util.*"
html>
head>
title>
ClusterAppTest<
/title>
/head>
body>
ServerInfo:
out.println(request.getLocalAddr()+"
"
+request.getLocalPort()+"
br>
out.println("
ID"
+session.getId()+"
//如果有新的Session属性设置
StringdataName=request.getParameter("
dataName"
if(dataName!
=null&
&
dataName.length()>
0){
StringdataValue=request.getParameter("
dataValue"
session.setAttribute(dataName,dataValue);
}
out.print("
b>
Session列表<
/b>
Enumeratione=session.getAttributeNames();
while(e.hasMoreElements()){
Stringname=(String)e.nextElement();
Stringvalue=session.getAttribute(name).toString();
out.println(name+"
="
+value+"
System.out.println(name+"
+value);
formaction="
index.jsp"
method="
POST"
>
名称:
inputtype=textsize=20name="
值:
inputtype=submit>
/form>
/body>
/html>
然后在test新建WEB-INF目录,WEB-INF下新建web.xml,内容如下
web-appxmlns="
xsi:
schemaLocation="
display-name>
TomcatDemo<
/display-name>
distributable/>
/web-app>
注意:
在你的应用的web.xml加入<
即可
ok,讲test复制到tomcat1,tomcat2的webapps下,重启apache,tomcat1,tomcat2,
输入网址http:
//localhost/test/test.jsp
新建一个名称为xiaoluo,值为cdut的session,提交查询,新开一个ie窗口,再提交查询,如图,可以看到,两个tomcat是负载均衡,并且session同步的
[参考二]
4安装apache
略
c、简单配置:
编辑httpd.conf,
把#ServerName:
80项中ServerName前的#号去掉,把xxxxx改成自己的机器全名,212中修改如下
#ServerName:
80改成ServerName127.0.0.1
d、启动Apache:
#cd/home/apache/bin
#./apachectlstart
e、测试Apache是否已经正确运行:
//202.202.202.15
5安装tomcat
把主体资源的tomcat拷为/home/tomcat/tomcat11目录
cd/home/tomcat
tarcvf../tool/tomcat.tartomcat5--excludetomcat5/webapps--excludetomcat5/work
cd/home/tool
tarxvftomcat.tar
mvtomcat5../tomcat/tomcat11
修改tomcat的文件目录,将/home/tomcat/tomcat11/conf/server.xml
appBase="
webapps"
修改为
/home/tomcat/tomcat5/webapps"
修改tomcat的端口
tomcat1/conf/server.xml<
Serverdebug="
0"
port="
8005"
shutdown="
SHUTDOWN"
改为
11001"
ConnectorURIEncoding="
GBK"
acceptCount="
100"
connectionTimeout="
20000"
debug="
disableUploadTimeout="
true"
enableLookups="
false"
maxSpareThreads="
75"
maxThreads="
150"
minSpareThreads="
25"
8082"
redirectPort="
8443"
/>
11002"
Connectordebug="
8009"
protocol="
AJP/1.3"
11003"
cp-fR/home/tomcat/tomcat11/home/tomcat/tomcat12
cp-fR/home/tomcat/tomcat11/home/tomcat/tomcat13
cp-fR/home/tomcat/tomcat11/home/tomcat/tomcat14
将相关端口修改为12001、12002和12003,13001、13002和13003,14001、14002和14003;
将标识修改为tomcat12,tomcat13,tomcat14
f、启动tomcat:
#cd/home/tomcat/tomcat11/bin
#./startup.sh
#cd/home/tomcat/tomcat12/bin
#cd/home/tomcat/tomcat13/bin
#cd/home/tomcat/tomcat14/bin
g、测试tomcat是否已经正确运行:
//202.202.202.15:
11002
12002
13002
14002
6apache+2tomcat的负载均衡
a、下载tomcat-connectors的源代码,编译,生成/home/apache/modules/mod_jk.so文件
wgethttp:
//mirrors.ccs.neu.edu/Apache/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.19/tomcat-connectors-1.2.19-src.tar.gz
gzip-dtomcat-connectors-1.2.19-src.tar.gz
tarxvftomcat-connectors-1.2.19-src.tar
cdtomcat-connectors-1.2.19-src
cdnative
./configure--with-apxs=/home/apache/bin/apxs
make
makeinstall
b、修改httpd.conf配置
编辑Apache的配置文件Apache安装目录的conf/httpd.conf
把DocumentRoot"
/mnt/sdd1/yanfa/vcmresource/apache/htdocs"
改成
DocumentRoot"
/home/tomcat/tomcat5/webapps/ROOT"
把<
Directory"
把
IfModuledir_module>
DirectoryIndexindex.html
/IfModule>
DirectoryIndexindex.jspindex.html
取消以下注释
#EnableMMAPoff
#EnableSendfileoff
EnableMMAPoff
EnableSendfileoff
#Includeconf/extra/httpd-mpm.conf
Includeconf/extra/httpd-mpm.conf
#Includeconf/extra/httpd-default.conf
Includeconf/extra/httpd-default.conf
加入以下内容
#Jkconnectors
Includeconf/mod_jk.conf
修改conf/extra/httpd-mpm.conf配置
#workerMPM
IfModulempm_worker_module>
StartServers
2
MaxClients
150
MinSpareThreads
25
MaxSpareThreads
75
ThreadsPerChild
MaxRequestsPerChild
0
5
ServerLimit
60
3000
50
d、在conf目录下创建mod_jk.conf文件,内容如下:
--------------------------------------mod_jk.conf------------------------------------------
#Loadmod_jkmodule
LoadModulejk_modulemodules/mod_jk.so
#Wheretofindworkers.properties
#Wheretoputjklogs
JkLogFilelogs/mod_jk.log
#Setthejkloglevel[debug/error/info]
JkLogLevelwarn
#Selectthelogformat
#JkLogStampFormat"
[%a%b%d%H:
%M:
%S%Y]"
#JkOptionsindicatetosendSSLKEYSIZE,
#JkOptions+ForwardKeySize+ForwardURICompat-ForwardDirectories
#JkRequestLogFormatsettherequestformat
#JkRequestLogFormat"
%w%V%T"
#SendJSPsforcontext/toworkernamedloadBalancer
#JkMount/*.jsploadBalancer
#JkMount/*.do*loadBalancer
JkMountFileconf/urimap.properties
--------------------------------------------mod_jk.conf------------------------------------
在conf目录下创建urimap.properties文件,内容如下:
/*=loadBalancer
!
/*.gif=loadBalancer
/*.jpg=loadBalancer
/*.png=loadBalancer
/*.css=loadBalancer
/*.js=loadBalancer
/*.htm=loadBalancer
/*.html=loadBalancer
/*.mid=loadBalancer
/*.jpeg=loadBalancer
/*.txt=loadBalancer
/*.mp3=loadBalancer
/*.swf=loadBalancer
/*.wmv=loadBalancer
/*.zip=loadBalancer
/*.rar=loadBalancer
/*.pl=loadBalancer
e、在conf目录下创建workers.properties文件,该文件将告诉apache每个负载均衡的tomcat
服务的运行参数,如机器名和端口号等。
-----------------------------------------workers.properties-------------------------------
#
#workers.properties
#listtheworkersbyname
worker.list=loadBalancer
#------------------------
#Firsttomcatserver
worker.tomcat11.port=11003
worker.tomcat11.host=202.202.202.15
worker.tomcat11.type=ajp13
#Specifythesizeoftheopenconnectioncache.
#worker.tomcat11.cachesize=1000
#Specifiestheloadbalancefactorwhenusedwith
#aloadbalancingworker.
#Note:
#---->
lbfactormustbe>
Lowlbfactormeanslessworkdonebytheworker.
worker.tomcat11.lbfactor=10
#----
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ApacheTomcat 集群 负载 均衡 要点
![提示](https://static.bdocx.com/images/bang_tan.gif)