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

[经验分享] Apache + Tomcat 实现简单集群

[复制链接]

尚未签到

发表于 2015-8-10 11:46:10 | 显示全部楼层 |阅读模式
Apache2.2  Tomcat6 集群服务器配置
引言
既然 Tomcat 本身已经可以提供这样的服务,我们为什么还要引入 Apache 或者其他的一些专门的 HTTP 服务器呢?原因有下面几个:
1. 提升对静态文件的处理性能
2. 利用 Web 服务器来做负载均衡以及容错
3. 无缝的升级应用程序
这三点对一个 web 网站来说是非常之重要的,我们希望我们的网站不仅是速度快,而且要稳定,不能因为某个 Tomcat 宕机或者是升级程序导致用户访问不了,而能完成这几个功能的、最好的 HTTP 服务器也就只有 apache 的 http server 了,它跟 tomcat 的结合是最紧密和可靠的。


JK方式:
A、准备工作
Apache:httpd-2.2.19-win32-x86-no_ssl.msi
Tomcat:apache-tomcat-6.0.32 复制成tomcat1,tomcat2.(还可以更多)
Mod_jk:mod_jk-1.2.31-httpd-2.2.3.so
下载地址:http://mirror.bjtu.edu.cn/apache/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.31/
mod_jk-1.2.31-httpd-2.2.3.so  is for Apache 2.2.x. It has been build against version 2.2.3, but should work with Apache 2.2.0 and later. Rename to mod_jk.so before putting it in your Apache2.2/modules directory or adjust your LoadModule statement.(把mod_jk-1.2.31-httpd-2.2.3.so 改名成mod_jk.so 并放到Apache2.2/modules)不改名也行,实际运用的时候加载具体的名字。

B、配置httpd.conf。
httpd.conf :Apache 服务器的配置文件,用来加载 JK 模块以及指定 JK 配置文件信息。

打开apache中的httpd.conf配置文件 添加Include conf/mod_jk.conf 这句。
http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:UsersMyronAppDataLocalTempksohtmlwps_clip_image-7499.png

C、在apache  conf目录中新建mod_jk.conf文件。
配置如下:
#加载mod_jk Module(用于Apache和tomcat通信的桥梁)
LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so

#指定 workers.properties文件路径(配置负载均衡用,下详)
JkWorkersFile conf/workers.properties

JkLogFile logs/mod_jk.log

#配置路径跳转,指将那些请求发给tomcat
JkMount /*.jsp controller
JkMount /*.action controller
JkMount /*.* controller
JkMount /* controller #这个很有必要,否则一些servlet的请求则无法转发给tomcat(例如jfreechart中的显示图片的/DisplayChart)

D、在apache  conf目录中新建workers.properties.
这个文件是Tomcat 服务器的连接定义文件。这个文件可以自己在conf目录下新建,也可以在tomcat-connectors-1.2.31-src中找一个来修改。(#表示注解,配置了一台机器上的两个工作端口)
配置如下:
workers.tomcat_home=D:\server\tomcat1,D:\server\tomcat2
workers.java_home=D:\Java\jdk1.6.0_24

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=8019         #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
worker.loadbalancer.sticky_session=true  #session是否具有黏贴性(复制性)

E、修改集群中tomcat的sever.xml文件。
实验中的集群tomcat是apache-tomcat-6.0.32版本的tomcat1和tomcat2.因为是在同一台电脑上部署多个tomcat,所以需要修改一些端口号。
(1)
Tomcat1:8005 ,Tomcat2:8015.
(2)
Tomcat1:8080、8443 ,Tomcat2:8081、8444.
(3)打开这段注释:
Tomcat1:tomcat1 ,Tomcat2:tomcat2。
(4)打开这段注释:
Tomcat1:8009、8443 ,Tomcat2:8019、8444。

(注意,上述修改需要跟workers.properties中的信息一致)
(4)在中添加下面一段(可以在tomcat /docs/cluster-howto.html中找到):
      
        

         
                  
         
            
            

            
              
            
            
            
            
         

         

         

         
        
Tomcat1:5001 ,Tomcat2:5002。

(5)
根据自己喜好,把apache和tomact1、tomcat2部署的项目放到指定的位置。也可以在tomcat1和tomcat2中建立自己的虚拟目录。
(6)修改apache httpd.conf中的DocumentRoot为DocumentRoot "D:/server/myApp"。
F、建立D:/server/myApp目录。并把tomcat中拷贝host-manager和manager目录文件到该目录下。然后拷贝测试项目 index.jsp,或者需要部署的项目到这目录下。例如hzsmpt和shop这两个项目
http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:UsersMyronAppDataLocalTempksohtmlwps_clip_image-6710.png
H、启动tomcat1、tomcat2和apache。进行测试。
http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:UsersMyronAppDataLocalTempksohtmlwps_clip_image-12901.png
http://onexin.iyunv.com/source/plugin/onexin_bigdata/file:///C:UsersMyronAppDataLocalTempksohtmlwps_clip_image-17973.png
当你在tomcat控制台上看到这样的信息的时候,说明两个tomcat已经集成了。
然后输入:http://127.0.0.1/shop和http://127.0.0.1:8080/shop 以及http://127.0.0.1:8081/shop 的结果都是一样的。
按照上述方法,可以配置tomcat3.tomcat4等

运维网声明 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-96941-1-1.html 上篇帖子: Jboss/Tomcat配置 下篇帖子: Installing Tomcat 6 on Ubuntu
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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