Tomcat三Apache反向代理实现Tomcat负载均衡.docx
- 文档编号:2461479
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:8
- 大小:16.68KB
Tomcat三Apache反向代理实现Tomcat负载均衡.docx
《Tomcat三Apache反向代理实现Tomcat负载均衡.docx》由会员分享,可在线阅读,更多相关《Tomcat三Apache反向代理实现Tomcat负载均衡.docx(8页珍藏版)》请在冰豆网上搜索。
Tomcat三Apache反向代理实现Tomcat负载均衡
Tomcat(三):
Apache反向代理实现Tomcat负载均衡
Tomcat(三):
Apache反向代理实现Tomcat负载均衡
实验拓扑:
实验环境:
OS:
CentOS-6.7-x86_64
Apache:
IP:
192.168.1.4
Tomcat1:
IP:
192.168.1.5
Tomcat2:
IP:
192.168.1.6
实验流程:
Tomcat:
两个Tomcat节点安装流程相同;
先安装Jvm:
[root@node1~]#yuminstalljava-1.7.0-openjdk
[root@node1~]#java-version
javaversion'1.7.0_79'
OpenJDKRuntimeEnvironment(rhel-2.5.5.4.el6-x86_64u79-b14)
OpenJDK64-BitServerVM(build24.79-b02,mixedmode)
安装tomcat:
官网:
http:
//tomcat.apache.org
[root@node1~]#tarxfapache-tomcat-7.0.65.tar.gz-C/usr/local/
[root@node1~]#cd/usr/local/
[root@node1local]#ln-svapache-tomcat-7.0.65tomcat
'tomcat'->'apache-tomcat-7.0.65'
[root@node1~]#vim/etc/profile.d/tomcat.sh
exportCATALINA_HOME=/usr/local/tomcat
exportPATH=$CATALINA_HOME/bin:
$PATH
[root@node1~]#source/etc/profile.d/tomcat.sh
提供脚本:
[root@node1~]#cat/etc/rc.d/init.d/tomcat
#!
/bin/sh
#TomcatinitscriptforLinux.
#
#chkconfig:
23459614
#description:
TheApacheTomcatservlet/JSPcontainer.
#JAVA_OPTS='-Xms64m-Xmx128m'
JAVA_HOME=/usr/lib/jvm/jre
CATALINA_HOME=/usr/local/tomcat
exportJAVA_HOMECATALINA_HOME
case$1in
start)
exec$CATALINA_HOME/bin/catalina.shstart;;
stop)
exec$CATALINA_HOME/bin/catalina.shstop;;
restart)
$CATALINA_HOME/bin/catalina.shstop
sleep2
exec$CATALINA_HOME/bin/catalina.shstart;;
*)
echo'Usage:
`basename$0`{start|stop|restart}'
exit1
;;
esac
[root@node1~]#chmodx/etc/rc.d/init.d/tomcat
[root@node1~]#chkconfigtomcat--add
定义管理页面用户名及密码:
[root@node1~]#cd/usr/local/tomcat/conf
[root@node1conf]#vimtomcat-users.xml
'manager-gui'/>
'admin-gui'/>
'tomcat'password='tomcat'roles='manager-gui,admin-gui'/>
配置文件复制到node2,并启动服务:
[root@node1conf]#scptomcat-users.xmlnode2:
/usr/local/tomcat/conf/
[root@node1conf]#servicetomcatstart;sshnode2'servicetomcatstart'
访问测试:
部署站点文件:
Node1:
[root@node1~]#mkdir-p/tomcat/webapps/test/WEB-INF/{classess,lib}
[root@node1~]#cd/tomcat/webapps/test
[root@node1test]#vimindex.jsp
%@pagelanguage='java'%>
html>
head>title>TomcatNode1title>head>
body>
h1>fontcolor='red'>node1.chencer.orgfont>h1>
tablealign='centre'border='1'>
tr>
td>SessionIDtd>
%session.setAttribute('chencer.org','chencer.org');%>
td>%=session.getId()%>td>
tr>
tr>
td>Createdontd>
td>%=session.getCreationTime()%>td>
tr>
table>
body>
html>
Node2:
[root@node2~]#mkdir-p/tomcat/webapps/test/WEB-INF/{classess,lib}
[root@node2~]#cd/tomcat/webapps/test
[root@node2test]#vimindex.jsp
%@pagelanguage='java'%>
html>
head>title>Tomcatnode2title>head>
body>
h1>fontcolor='red'>node2.chencer.orgfont>h1>
tablealign='centre'border='1'>
tr>
td>SessionIDtd>
%session.setAttribute('chencer.org','chencer.org');%>
td>%=session.getId()%>td>
tr>
tr>
td>Createdontd>
td>%=session.getCreationTime()%>td>
tr>
table>
body>
html>
定义虚拟主机,并重启tomcat:
Node1:
[root@node1~]#cd/usr/local/tomcat
[root@node1tomcat]#vimconf/server.xml
Enginename='Catalina'defaultHost='node1.chencer.org'>
Hostname='node1.chencer.org'appBase='/tomcat/webapps'unpackWARs='true'autoDeploy='true'>
Contextpath='/'docBase='test'/>
Host>
[root@node1tomcat]#servicetomcatrestart
Node2:
[root@node2~]#cd/usr/local/tomcat
[root@node2tomcat]#vimconf/server.xml
Enginename='Catalina'defaultHost='node2.chencer.org'>
Hostname='node2.chencer.org'appBase='/tomcat/webapps'unpackWARs='true'autoDeploy='true'>
Contextpath='/'docBase='test'/>
Host>
[root@node2tomcat]#servicetomcatrestart
访问测试:
httpd可以通过2种协议连接tomcat:
http,ajp;tomcat启动之后默认会监听在2个端口:
8080,8009。
8080用于接收http请求,8009则用于接收ajp请求。
配置apache基于mod_proxy实现Tomcat负载均衡:
安装httpd:
[root@node0~]#yuminstallhttpd
确保httpd有以下模块:
[root@node0~]#httpd-M|grepproxy
proxy_module(shared)
proxy_balancer_module(shared)
proxy_ftp_module(shared)
proxy_http_module(shared)
proxy_ajp_module(shared)
proxy_connect_module(shared)
编辑httpd配置文件:
[root@node0~]#cd/etc/httpd/conf
[root@node0conf]#vimhttpd.conf
#DocumentRoot'/var/www/html'\\:
关闭中心主机;
在全局配置段中添加以下内容:
//cluster>\\:
定义系群名;
BalancerMemberhttp:
//192.168.1.5:
8080loadfactor=1\\:
集群节点,loadfactor表示权重;
BalancerMemberhttp:
//192.168.1.6:
8080loadfactor=1
ProxySetlbmethod=bytraffic\\:
调度算法;
NameVirtualHost*:
80\\:
启用虚拟主机;
80>
ServerNamenode0.chencer.org
ProxyViaOn\\:
via信息;
ProxyRequestsoff\\:
关闭正向代理;
ProxyPreserveHoston\\:
支持虚拟合租记;
ProxyPass/balancer:
//clusterstickysession=jsessionid\\:
请求至后端主机;
ProxyPassReverse/balancer:
//clusterstickysession=jsessionid\\:
请求至后端主机;
[root@node0conf]#httpd-t
[root@node0conf]#servicehttpdstart
访问测试:
配置apache基于mod_jk实现Tomcat负载均衡:
mod_jk模块仅支持使用ajp协议连接后端的tomcat;由于mod_jk模块出现的较早,httpd默认不包括该模块,需要通过apache的apxs函数编译该模块,安装至apache的模块目录下。
若是直接使用yum安装的httpd,需要安装httpd-devel以提供apxs函数。
安装httpd-devel:
[root@node0~]#yuminstallhttpd-de
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Tomcat Apache 反向 代理 实现 负载 均衡
![提示](https://static.bdocx.com/images/bang_tan.gif)