Apache + Tomcat 集群的配置

 

公司最近新接了一个项目,客户要求WEB SERVER 必须是APACHE,,由于之前的项目一直都是NGINX,,无奈啊,,由于对方的IT又是在三哥的过度,经过一番的争执只能顺应三哥三姐的要求。。?

好吧,,即然话语怼不了对方,那就用技术来好好怼一怼三哥三姐,,配置走起。。。

 

 

1.首先了解一下APACHE + TOMCAT 组合的概念

   其实如果不使用APACHE 直接使用TOMCAT 也可以正常使用,但是单个tomcat的负载数量是有限的,而且一旦挂了就导致整个服务无法访问;所以APACHE+tomcat的集群架构成为必然趋势,需要一个WEB服务器来直接面对用户,然后将所有用户的动态请求比如.java  .do的全部转发给不同的tomcat,实现负载的均衡。

 

2.安装版本

  apache2.2.4

  tomcat7 2个

 

3.配置详细

  apache 支持三种方式链接 tomcat ,,mod_JK、http_proxy和ajp_proxy

  今天我们来详细学习一下http_proxy,链接方式;

  Tomcat配置

  一台机器里面如果要启动2台或者多台的tomcat,需要在tomcat/conf/server.xml 下面做一个端口的修改;

  1.需改shutdown端口,端口号自定义

  

  2.不同的Tomcat需要不一样的启动端口号,自定义  

  

  3.AJP 协议是apache 跟tomcat 链接的协议,这里的端口号也是要自定义       

  

  4.jvmRoute 也是apache 链接tomcat的配置项之一

  

  5.有的情况下还需要配置Catalina_home地址,针对每个tomcat做一个配置,比如 tomcat2,,key: catalina_home_2 value: /root/tomcat2 ,,然后在tomcat2下面的catalina.sh 里面都需要将catalina_home 改为catalina_home_2, 第三第四个tomcat依此类推。

  

  Apache 配置 

  /etc/httpd.conf/http.d 配置

  1.http.d配置 添加如下模块导入的配置,或者删除#注释;从apache2.2版本开始安装后会自带下面的模块,更早的版本需要自行安装模块。

    LoadModule proxy_module modules/mod_proxy.so

    LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

    LoadModule rewrite_module modules/mod_rewrite.so
    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
    LoadModule proxy_connect_module modules/mod_proxy_connect.so
    LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
    LoadModule speling_module modules/mod_speling.so
    LoadModule ssl_module modules/mod_ssl.so
  

  2.增加虚拟主机的配置文件,(apache 虚拟主机知识自行百度学习)

    在/etc/httpd/conf/extra/下面创建 httpd-vhosts.conf

      <VirtualHost *:8090>

        ProxyVia on    #反向代理必须开启

        ProxyRequest off  # 正向代理必须关闭

        ServerName localhost
        ServerAlias localhost
        ProxyPass / balancer://cluster/ stickysession=JSESSIONID|jsessionid nofailover=On 填写下面BalancerMember 的信息
        ProxyPassReverse / balancer://cluster/
      </VirtualHost>
      <proxy balancer://cluster>

        BalancerMember ajp://localhost:8009 loadfactor=1 route=tomcat1 smax=5 max=20 ttl=120 retry=300 timeout=15  
        BalancerMember ajp://localhost:8010 loadfactor=1 route=tomcat2 smax=5 max=20 ttl=120 retry=300 timeout=15
        BalancerMember ajp://192.168.3.100:9009 loadfactor=1 route=tomcat3 smax=5 max=20 ttl=120 retry=300 timeout=15
        ProxySet lbmethod=byrequests
        #lbmethod=byrequests 按照请求次数均衡(默认)
        #lbmethod=bytraffic 按照流量均衡
        #lbmethod=bybusyness 按照繁忙程度均衡(总是分配给活跃请求数最少的服务器)
      </proxy>
      
#localhost 后面的端口号是第一个tomcat AJP的端口号,route=tomcat1是jvm里面的配置的jvmRoute,timeout有的时候需要做适当调整,如果tomcat反应慢一旦超过15S,apache就会返回service unavailable

  3.在http.d文件里面导入虚拟主机的配置文件

   Include /etc/httpd/conf/extra/httpd-vhosts.conf

配置完毕重启tomcat和 apache ,,尝试从apache 80端口访问tomcat。下回学习一下不同的tomcat之间会话保持的功能。。。。

 

 

 

   

  

      

  

转载于:https://www.cnblogs.com/sucretan2010/p/10869833.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值