码迷,mamicode.com
首页 > Web开发 > 详细

apache + tomcat负载均衡搭建

时间:2018-04-07 16:06:46      阅读:312      评论:0      收藏:0      [点我收藏+]

标签:jvm   server   mod_jk   执行   格式   技术分享   source   strong   balance   

安装jdk:

进入/usr目录下,创建java文件夹,mkdir java,

技术分享图片

用rz命令上传到java目录下,并赋权限chmod 755 jdk-6u45-linux-i586.bin

./jdk-6u45-linux-i586.bin(注意,这个步骤一定要在jdk-6u45-linux-i586.bin所在目录下,就是java目录)

技术分享图片

解压完毕后在java目录生成技术分享图片

 

配置环境变量:

vi /etc/profile,添加如下内容在:

LANGUAGE=CN

export language

JAVA_HOME=/usr/java/jdk1.6.0_45

export JAVA_HOME

export PATH=$JAVA_HOME/bin:$PATH

添加完成后保存并退出,让/etc/profile文件修改后立即生效,可以使用如下命令:source /etc/profile

java -version,看输出的版本,如果能看到版本号证明jdk安装成功

 

安装apache,编译完成后,通过虚机IP:端口就行访问,如果返回“it works”证明apache启动成功(注意apache的工程路径要正确),不加端口号也行,我试过了

 

上传技术分享图片

到root目录下,此文件是32位的,一定要跟自己操作系统吻合,然后重命名为mod_jk.so,使用如下命令:mv mod_jk-1.2.23-apache-2.2.x-linux-i686.so  mod_jk.so

并且赋值777权限,chmod -R 777  mod_jk.so

 

将mod_jk.so拷贝到apache2/modules:cp mod_jk.so /usr/local/apache2/modules/

 

在httpd.conf里增加如下内容:

httpd.conf的路径,在/usr/local/apache2/conf下,vi httpd.conf,添加include "/usr/local/apache2/conf/mod_jk.conf",保存并退出,如果存在就不添加

 

在/usr/local/apache2/conf 路径下新建mod_jk.conf文件,创建文件的命令是:touch mod_jk.conf,然后添加如下内容:

#加载mod_jk Module  

LoadModule jk_module modules/mod_jk.so

#指定 workers.properties文件路径  

JkWorkersFile conf/workers.properties

#指定哪些请求交给tomcat处理,"loadbalancer"为在workers.properties里指定的负载分配控制器名

JkLogFile logs/mod_jk.log

#JkLogLevel debug

JkMount /*.do loadbalancer

JkMount /*.jsp loadbalancer

 

在/usr/local/apache2/conf下新建workers.properties文件:touch workers.properties,并添加如下内容:

worker.list=loadbalancer  # 此处与mod_jk.conf中保持一致

worker.worker2.port=8009  #t omcat2中 ajp13 端口号,对应tomcat配置文件server.xml中 # Connector port="8009",默认8009

worker.worker2.host=127.0.0.1(改成虚机ip,已改过) # worker2的地址,本机loaclhost或者127.0.0.1,远程直接写IP

worker.worker2.type=ajp13 # 与worker2中的server.xml的protocol保持一致

worker.worker2.lbfactor=1 # 负载的权重值,越高表示负载越大

 

worker.worker3.port=9009

worker.worker3.host=127.0.0.1(改成虚机ip,已改过)

worker.worker3.type=ajp13

worker.worker3.lbfactor=1

worker.loadbalancer.type=lb

worker.loadbalancer.balance_workers=worker2,worker3 # 指定负载的worker列表,用逗号分隔

worker.loadbalancer..sticky_session=false # 配置session会话是否为粘性

worker.loadbalancer.sticky_session=1 #这样负载均衡器lb就会尽量保持一个session,也就是使用户在一次会话中跟同一个Tomcat进行交互

worker.loadbalancer..sticky_session_force=false # 是否启用session共享

 

安装tomcat:

技术分享图片

用rz命令上传到root目录下

解压:tar -zxvf  apache-tomcat-7.0.41.tar.gz

将解压后生成的文件夹技术分享图片改名为worker2:mv apache-tomcat-7.0.41 worker2

同时拷贝两个tomcat,命名为worker2和worker3

mv apache-tomcat-7.0.41 worker2

cp worker2  worker3 -r

就是安装2个tomcat,worker2和worker3

修改2个tomcat的server.xml,保证2个tomcat的端口号不一致,两个server.xml的位置分别在worker2/conf、worker3/conf目录下

worker2具体配置如下:

图中的四个红框里是需要修改的,但是前三个和安大叔博客的要求是一样的,所以保持不变,最后一个改为了worker2

技术分享图片

技术分享图片

 

worker3具体配置如下:

图中的四个红框里是需要修改的

第一个红框8005改为8006(已改过)

第二个红框8080改为8081(已改过)

第三个红框8009改为9009(已改过)

最后一个jvm1改为worker3(已改过)

技术分享图片

技术分享图片

 

上传应用程序war包:

用rz命令将技术分享图片分别上传到/root/worker2/webapps和/root/worker3/webapps下,然后在webapps(工程路径)下面会自动生成一个test1文件夹(之前没有,退出webapps目录,在进入webapps目录就会看到test1文件夹)

技术分享图片

cd test1

 

技术分享图片

看到先前上传的test1.war文件在test1目录里解压成test.jsp格式,分别编辑/root/worker2/webapps/test1和/root/worker3/webapps/test1里test.jsp的内容,编辑后的内容变成test_worker2(之前的内容是test) 、test_worker3(之前的内容是test)

 

启用tomcat命令是:在/root/worker2/bin 目录输入./startup.sh

停掉tomcat命令是:在/root/worker2/bin 目录输入./shutdown.sh

同理在worker3也一样的操作

 

分别启动apache worker2,worker3,用不同的浏览器访问

第一种情况:

http://192.168.2.199:8080 (IE9浏览器)

输出结果:

技术分享图片

 

第二种情况:

192.168.2.199:8081 (Firefox浏览器)

输出结果:

技术分享图片

 

第三种情况:

(Google浏览器)能访问成功,如下图

技术分享图片

 

刷新页面显示

技术分享图片

 

反复刷新可以看到两个页面轮询访问两个tomcat,这种方式实现了负载均衡

ps:如果报404错误,就要检查问题出在哪,我历经无数次判断终于锁定了apache在作怪,于是使用ps -ef |grep httpd这个命令,把出来的进程全部杀掉,只保留下面的进程

技术分享图片

 

 

然后按照下面的步骤重启apache服务,红框里的好像不执行也可以(这个没试过),就会看到想看到的结果了,太不容易了

技术分享图片

 

第四种情况:

停掉tomcat1(worker2)时候

192.168.2.199/test1/test.jsp能访问成功(Firefox浏览器),如下图,反复刷新只能访问tomcat2(worker3)

技术分享图片

 

第五种情况:

停掉tomcat2(worker3)

http://192.168.2.199/test1/test.jsp能访问成功(IE9浏览器),如下图, 反复刷新只能访问tomcat1(worker2)

技术分享图片

 

综上显示,证明apache + tomcat负载均衡搭建成功

apache + tomcat负载均衡搭建

标签:jvm   server   mod_jk   执行   格式   技术分享   source   strong   balance   

原文地址:https://www.cnblogs.com/laosun0204/p/8733283.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!