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

[经验分享] Apache+tomcat 负载集群配置

[复制链接]

尚未签到

发表于 2018-11-28 09:21:39 | 显示全部楼层 |阅读模式
Apache+tomcat 负载集群配置
一、 软件
a、httpd
http://labs.xiaonei.com/apache-mirror/httpd/httpd-2.2.11.tar.gz
b、tomcat
http://apache.etoak.com/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.tar.gz
c、tomcat-connectors
http://apache.etoak.com/tomcat/tomcat-connectors/jk/source/jk-1.2.28/tomcat-connectors-1.2.28-src.tar.gz

二、 安装
1、httpd安装

    tar zxvf httpd-2.2.11.tar.gz
    cd httpd-2.2.11
    cd srclib/apr
    ./configure --prefix=/usr/local/apr
    make
    make install
    cd ../apr-util/
    ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
    make
    make install
    cd ../../
    ./configure \
     --prefix=/usr/local/apache2 \
     --with-apr=/usr/local/apr \
     --with-apr-util=/usr/local/apr-util \
     --enable-rewrite \
     --enable-dav \
     --enable-so \
     --enable-mods-shared=all \
     --enable-ssl \
     --with-ssl=/usr/local/ssl \
     --enable-proxy=share \
     --enable-proxy-ajp=share \
     --enable-proxy-balancer=share \
     --enable-suexec \
     --with-suexec-caller=webusr \
     --with-suexec-docroot=/var/www \
     --enable-usertrack \
     --enable-http
    make
    make install
2、 tomcat安装

   tar apache-tomcat-6.0.20.tar.gz
   cp  apache-tomcat-6.0.20 /usr/local/tomcat6020
   vi  tomcat6020/conf/catalina.sh
   添加:
   
    CATALINA_HOME=/usr/local/tomcat6020
    CATALINA_TMPDIR=/usr/local/tomcat6020/tmp
    JAVA_HOME=/usr/local/jdk
    JAVA_OPTS="-Xms256m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m"
   
3、tomcat-connectors 安装 jk方式整合apache和tomcat
   
    a、JK 安装 (整合apache tomcat)
    # tar zxvf tomcat-connectors-1.2.28-src.tar.gz
    #cd tomcat-connectors-1.2.28-src/native
    # ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-java-home=/usr/local/jdk
    # make && make install
     
    在/usr/local/apache2/modules/ 下会产生mod_jk.so
    修改apache配置文件:
    LoadModule jk_module modules/mod_jk.so
     
    JkWorkersFile /usr/local/tomcat/conf/jk/workers.properties   JK配置文件 负载的配置
    JkShmFile logs/mod_jk.shm
    JkLogFile /usr/local/tomcat/logs/mod_jk.log  相关日志的设置
    JkLogLevel info
    JkMount /*.jsp controller  将jsp的请求转发给 controller(负载均衡控制器)
     
    修改DoucmentRoot 与tomcat的目录一致。
   
    b、调度器JK的配置
    建立JK配置文件:
    #vi /usr/local/tomcat/conf/jk/workers.properties
    workers.tomcat_home=/usr/local/tomcat    #指定tomcat的目录――如果2个tomcat在同一台机器该选项去掉
    workers.java_home=/usr/local/jdk         #指定jdk的目录
    ps=/                                    
    worker.list=controller                   #指定负载名,这个可以随便起,与下面的 worker.controller.type=lb要对应
     
    #========tomcat1======== 第一台tomcat的配置
    worker.tomcat1.port=8009
    worker.tomcat1.host=localhost   #这里也可以写IP
    worker.tomcat1.type=ajp13      
    worker.tomcat1.lbfactor=1       #权量 数值越大,分配的机率就最小
     
    #========tomcat2===========
    worker.tomcat2.port=9009
    worker.tomcat2.host=localhost  (tomcat2的IP)
    worker.tomcat2.type=ajp13
    worker.tomcat2.lbfactor=1
     
    #========controller,负载均衡器=======
    worker.controller.type=lb
    worker.controller.balance_workers=tomcat1,tomcat2  # server.xml配置文件里的jvmRoute="tomcat1"指定的名字
    worker.controller.sticky_session=1

4、mod_proxy 方式整合apache和tomcat

    1.1、httpd.conf配置
    修改APACHE的配置文件 \conf\httpd.conf
    将以下Module的注释去掉,这里并没有使用mod_jk.so进行apache和tomcat的链接,从2.X以后apache自身已集成了mod_jk.so的功能。只需简单的把下面几行去掉注释,就相当于以前用mod_jk.so比较繁琐的配置了。这里主要采用了代理的方法,就这么简单。
    LoadModule proxy_module modules/mod_proxy.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 proxy_ajp_module modules/mod_proxy_ajp.so
    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
    再找到加上index.jsp修改成
     
    DirectoryIndex index.html index.jsp
     
    1.1.1、  在最下面加入
    ProxyRequests Off
     
    BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1
    BalancerMember ajp:// 127.0.0.1:9009 loadfactor=1 route=jvm2
     
    上面的BalancerMember成员是我们配置的tomcat集群。
    1.2、httpd-vhosts.conf设置
    接下来进行虚拟主机的设置。APACHE的虚拟主机设置如下:
    首先要修改 conf/httpd.conf找到(#Include conf/extra/httpd-vhosts.conf)
    把注释去掉。
    # Virtual hosts
    Include conf/extra/httpd-vhosts.conf
    在文件(extra/httpd-vhosts.conf)最下面加入
     
             ServerAdmin user@somehost.com
             ServerName localhost
             ServerAlias localhost
             ProxyPass /common !
             ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On
             ProxyPa***everse / balancer://cluster/
     
    其中的域名和路径根据你自己情况设置
    然后再设置TOMCAT虚拟主机
   
     
三、tomcat集群配置,session 同步配置:
    1、修改Engine节点信息:
     例如:

    2、配置Cluster(每个tomcat中都要修改)
    原来的配置。
     
    修改为以下的代码:port也要保证唯一性。
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    这个设置是主要用以tomcat的集群。

tomcat集群和负载均衡的实现(session同步)补充
因为tomcat的session同步功能需要用到组播,windows默认情况下是开通组播服务的,但是linux默认情况下并没有开通,可以通过指令打开route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0,如果需要服务器启动时即开通组播需在/etc/sysconfig/static-routes文件内加入eht0 net 224.0.0.0 netmask 240.0.0.0。具体组播概念请查阅CCNP相关内容。

tomcat 常用配置

   




运维网声明 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-640555-1-1.html 上篇帖子: apache2+mysql5+php5安装 下篇帖子: linux学习月活动
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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