设为首页 收藏本站
查看: 1038|回复: 0

[经验分享] 配置apache tomcat 集群 VMware

[复制链接]

尚未签到

发表于 2018-11-26 13:09:02 | 显示全部楼层 |阅读模式
Apache,Tomcat集群和负载均衡
参考文章


2008-06-05 12:30
准备工作
1 操作系统

RedHat Linux as4update4 (使用一台虚拟机
)
2 所需软件

httpd-2.0.61.tar
jakarta-tomcat-5.0.28.tar
jakarta-tomcat-connectors-1.2.13-src.tar
jdk-1_5_0_11-linux-i586
以上所需软件都可以在baidu上找到
下载mod_jk地址
http://archive.apache.org/dist/t ... ectors/jk/binaries/
3 安装步骤

3.1 安装
JDK
# cd /usr/local/
# chmod 777 jdk-1_5_0_11-linux-i586
# ./ jdk-1_5_0_11-linux-i586
# cd /usr/java/
# ln -s /usr/java/jdk-1_5_0_04 /usr/local/java
# vi /etc/profile
#添加如下内容

#setup JDK environment variable

JAVA_HOME=/home/jdk/jdk1.5.0_11 (添加)
CLASSPATH=$JAVA_HOME/lib/tools.jar:JAVA_HOME/lib:JAVA_HOME/bin(添加)


HOSTNAME=`/bin/hostname`
HISTSIZE=1000

if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
    INPUTRC=/etc/inputrc
fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC JAVA_HOME C LASSPATH(红色为添加)
3.2 安装Apache
# cd /usr/local/
# tar zxvf httpd-2.0.61.tar
# cd httpd-2.0.61
#./configure --prefix=/usr/local/apache --enable-module=so
# make
# make install

建议:安装apache 时用
# cd /usr/local/apache/conf
# vi ./httpd.conf
将Listen 80修改为Listen IP:80
将ServerName修改为
ServerName domain:80
在DirectoryIndex中添加
index.jsp
# cd /usr/local/apache/bin/
# ./apachectl configtest
若显示Syntax ok则表明安装成功

#./apachectl start
启动apache服务,访问本机80端口,查看端口是否正常

# ./apachectl stop
关闭服务

备注:prefix定义apache的安装路径


3.3 安装
Tomcat
# cd /usr/local/
# tar zxvf jakarta-tomcat-5.0.28.tar
# ln –s /usr/local/jakarta-tomcat-5.0.28 
/usr/local/tomcat
# vi /usr/local/tomcat/bin/catalina.sh
JAVA_HOME=/usr/local/java
启动服务后,访问本机8080端口,查看端口是否正常

# /usr/local/tomcat/bin/startup.sh
关闭服务

# /usr/local/tomcat/bin/shutdown.sh

第二个Tomcat
#cp –r jakarta-tomcat-5.0.28 2tomcat
更改端口
vi server.xml
将原来的更改为

将原来的    更改为

将原来的更改为


3.4 安装JK
#cd /usr/local/
# tar xzvf jakarta-tomcat-connectors-1.2.13-src.tar.gz
#cd jakarta-tomcat-connectors-1.2.13-src/jk/native
#./buildconf.sh
#./configure—with-apxs=/usr/local/apache/bin/apxs
#make
#make install
#cd /usr/local/ jakarta-tomcat-connectors- jk1.2.13-src/jk/native/apache-2.0/
#cp mod_jk.so /usr/local/apache/modules/

4 系统整合

4.1 在文件最末尾加上如下语句

#vi /usr/local/apache/conf/httpd.conf

# Load mod_jk
LoadModule jk_module modules/mod_jk.so
# Configure mod_jk
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info
JkMount /*.jsp loadbalancer
JkMount /servlet/* loadbalancer
JkMount /application/* loadbalancer
JkMount /*.gif loadbalancer(这句话不添加tomcat 的测试页面图片不能正常显示)

JkMount /*.do loadbalancer (这名话可以不添加)
4.2 添加
workers.properties
#vi /usr/local/apache/conf/workers.properties
内容如下:


worker.list=loadbalancer
#Define a ‘local_worker’ worker using ajp13
worker.worker1.port=8009
worker.worker1.host=192.168.1.138(
如果测试的时候有问题,可更改为localhost 或者是你的域名 进行调试)
worker.worker1.type=ajp13
worker.worker1.lbfactor=1
worker.worker1.local_worker=0
worker.worker1.cachesize=1000
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=0
worker.worker1.reclycle_timeout=300
worker.worker1.retries=3

#Define another ‘local_worker’ worker using ajp13
worker.worker2.port=18009(
因为在一台机子上怕冲突所以更改。不知用8009会不会有问题,还没有测试)
worker.worker2.host=192.168.1.138(如果测试的时候有问题,可更改为localhost 进行测试
)
worker.worker2.type=ajp13
worker.worker2.lbfactor=1
worker.worker2.local_worker=1
worker.worker2.cachesize=1000
worker.worker2.cache_timeout=600
worker.worker2.socket_keepalive=1
worker.worker2.socket_timeout=0
worker.worker1.reclycle_timeout=300
worker.worker1.retries=3

#Define the LB worker
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=worker1,worker2
worker.loadbalancer.local_worker_only=1
worker.loadbalancer.sticky_session=true
worker.loadbalancer.sticky_session_force=true

注:以上定义了两个worker,一个为worker1,另一个为worker2,定义了一个负载平衡服务器loadbalancer,其中标红色的为重点配置项,相关的详细说明可以看官方的网站文档:http://tomcat.apache.org/connectors-doc/

worker.list=loadbalancer
设定工作的负载平衡器,各Tomcat节点不能加入此列表。

worker.worker1.lbfactor
负载平衡的权重比,如果此权重比越大,则分配到此节点的请求越多,如以上两个节点的权重比为1:1,则为平均分配。

worker.loadbalancer.balance_workers=worker1,worker2
指定此负载平衡器负责的Tomcat应用节点。

worker.loadbalancer.sticky_session=true
此处指定集群是否需要会话复制,如果设为true,则表明为会话粘性,不进行会话复制,当某用户的请求第一次分发到哪台Tomcat后,后继的请求会一直分发到此Tomcat服务器上处理;如果设为false,则表明需求会话复制。

worker.loadbalancer.sticky_session_force=true
如果上面的sticky_session设为true时,建议此处也设为true,此参数表明如果集群中某台Tomcat服务器在多次请求没有响 应后,是否将当前的请求,转发到其它Tomcat服务器上处理;此参数在sticky_session=true时,影响比较大,会导致转发到其它 Tomcat服务器上的请求,找不到原来的session,所以如果此时请求中有读取session中某些信息的话,就会导致应用的null异常。


4.3 修改
server.xml
#vi /usr/local/tomcat/conf/server.xml
在139行左右加入如下语句

  

1)、如果不添加, 就必须将原来的
更改为
   
2)、如果添加 ,建议添加到文件最下方的 的下两行,就不用更改

3)、个人是采用了 “1)”,由于对文件各各参数的作用了解不清楚,所以还请高手给予指点。

若第二台worker1,将jvmRoute的修改为worker2

并且把下面群集配置释放出来,也就是去掉注释。











至此,系统已经整个完毕

启动apache和tomcat服务

# /usr/local/apache/bin/apachectl start
#/usr/local/tomcat/bin/catalina.sh start
将如下内容添加至/etc/rc.d/rc.local文件末尾,以便系统启动后开启apache,tomcat服务

/usr/local/tomcat/bin/catalina.sh start
/usr/local/apache/bin/apachectl start

5 测试群集

5.1 编写一个简单web应用,包含如下内容:
写一个如下的jsp页面。

test.jsp内容如下:







JSP Test Page


     1 JSP Test Page

   


在2tomcat 下也同样创建一个test.jsp 将1 JSP Test Page 更改为2 JSP Test Pagehttp://liujiangbo.blog.51cto.com/attachment/200806/200806051212641059014.bmp



现在可以把tomcat 1 关闭,在访问http://192.168.1.138/test.jsp
可以看到


http://liujiangbo.blog.51cto.com/attachment/200806/200806051212641098861.bmp
以上在切换的时候很慢,具体的原因不是很清楚,可能还需要调试一些参数进行优化。这里再次请教各位高手。






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-639870-1-1.html 上篇帖子: apache不解析php文档?提示需要下载 下篇帖子: Apache Flink官方文档中文版--Flink是什么?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表