apache tomcat mod_proxy负载均衡

昨天已安装好Apache,linux apache安装,今天来安装tomcat。

首先下载tomcat7,然后解压两份,分别命名不同就行了。

wget http://labs.mop.com/apache-mirror/tomcat/tomcat-7/v7.0.34/bin/apache-tomcat-7.0.34.tar.gz
tar apache-tomcat-7.0.34.tar.gz -C /usr/local/
cd /usr/local
cp -R apache-tomcat-7.0.34 apache-tomcat2-7.0.34
tomcat默认监听8080端口,因为现在需要在一台机器上启动两个tomcat,所以需要改一个tomcat配置文件使监听在不同端口上,如果
两个tomcat在不同的机器上就不需要改。
第一份tomcat不需要做什么修改
vi apache-tomcat-7.0.34/conf/server.xml 
找到
<Engine name="Catalina" defaultHost="localhost">
将它改成
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
保存,然后这个就不需要做修改了。
编辑第二份tomcat的配置文件
vi apache-tomcat2-7.0.34/conf/server.xml 
找到
<Engine name="Catalina" defaultHost="localhost">
将它改成
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">
找到
<Server port="8005" shutdown="SHUTDOWN">
改成
<Server port="9005" shutdown="SHUTDOWN">
找到
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
改成
<Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
找到
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
改成
<Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />
保存,退出。
ps:前面加上的jvmRoute="tomcat1",和其他改变的一些端口,
都可以改成其他的名字,或端口,只需要和第一份tomcat的配置名称和端口不同就可以了。
分别启动测试这两个tomcat看是否有错误
sh apache-tomcat-7.0.34/bin/startup.sh
sh apache-tomcat2-7.0.34/bin/startup.sh
分别访问
http://192.168.95.129:8080
http://192.168.95.129:8081
看是否能正常看到对应的tomcat默认页面。
ps:因为我这里是装的虚拟机,访问端口就要开放对应的端口,开始忘记开了,后面修改了下iptables就可以了
vi /etc/sysconfig/iptables
 添加上后面的三行
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8081 -j ACCEPT
可以正常访问,没错。
好,关掉两个tomcat,再来整合apache tomcat.
sh apache-tomcat-7.0.34/bin/shutdown.sh 
sh apache-tomcat2-7.0.34/bin/shutdown.sh
编辑apache的配置文件httpd.conf(我们这里采用mod_proxy负载均衡)
vi apache/conf/httpd.conf
在最后加上
ProxyRequests Off  #关闭正向代理
ProxyPass / balancer://mycluster/ lbmethod=byrequests stickysession=JSESSIONID
ProxyPassReverse / balancer://mycluster/
<Proxy balancer://mycluster>
BalancerMember http://192.168.95.129:8080
BalancerMember http://192.168.95.129:8081
</Proxy>

保存退出.

# lbmethod 提供了三种负载方法,分别是byrequest、bytraffic、bybusyness;见下面的表格 

#负载均衡会尽量让各个服务器接受的请求次数满足预设的比例。如果要改变算法,可以使用 lbmethod 属性

lbmethod=byrequests

按照请求次数均衡(默认)

lbmethod=bytraffic

按照流量均衡

lbmethod=bybusyness

按照繁忙程度均衡(总是分配给活跃请求数最少的服务器)

整合完成,启动apahce看效果。
sh apache/bin/apachectl start
访问
http://192.168.95.129
可以正常访问,但是因为两个tomcat页面的index.jsp一样,看不出负载均衡的效果,现在
我来改改1个tomcat首页的内容
echo "hello world" > apache-tomcat2-7.0.34/webapps/ROOT/index.jsp
在多次刷新页面,就可以看到效果了。每次出现的页面都不一样,说明每次刷新访问的是不同的tomcat。


你可能感兴趣的:(apache,apache,linux,linux,tomcat负载均衡,tomcat整合)