天天看點

Apache+Tomcat+keepalived的負載均衡session複制及HA1 Apache負載均衡2 Tomcat session複制3 HA高可用性keepalived配置

0、關閉防火牆service iptables stop; chkconfig --level 35 iptables off

   關閉selinux vi /etc/selinux/config   selinux=disabled

setenforce 0 生效

1、将mod_jk-1.2.31-httpd-2.2.x.so上傳至/etc/httpd/modules目錄下

2、

vi /etc/httpd/conf/httpd.conf

在include conf.d/*.conf下

增加

include /etc/httpd/conf/mod_jk.conf

配置

servername=192.168.1.x:80

3、

vi /etc/httpd/conf/mod_jk.conf

loadmodule jk_module /etc/httpd/modules/mod_jk.so

jkworkersfile /etc/httpd/conf/workers.properties

jklogfile /etc/httpd/logs/mod_jk.log

jkloglevel warn

jklogstampformat "[%a %b %d %h:%m:%s %y]"

jkmount /*.* controller 

4、

vi /etc/httpd/conf/workers.properties

worker.list=controller

worker.tomcat1.port=8009

worker.tomcat1.host=192.168.1.152

worker.tomcat1.type=ajp13

worker.tomcat1.lbfactor=1 

worker.tomcat2.port=8009 

worker.tomcat2.host=192.168.1.155

worker.tomcat2.type=ajp13

worker.tomcat2.lbfactor=1 

worker.tomcat3.port=8009 

worker.tomcat3.host=192.168.1.156

worker.tomcat3.type=ajp13

worker.tomcat3.lbfactor=1 

worker.controller.type=lb 

worker.retries=3

worker.controller.balance_workers=tomcat1,tomcat2,tomcat3

worker.controller.sticky_session=false

1、對于每一個server.xml

  <engine name="catalina" defaulthost="localhost" jvmroute="tomcat2">

2、在engine标簽内增加

<cluster classname="org.apache.catalina.ha.tcp.simpletcpcluster"/>

3、在程式的web.xml的web-app結束前增加 <distributable/>

4、session複制需用多點傳播添加static route

vi /etc/sysconfig/network-scripts/route-eth0

192.0.2.0/24 dev eth0 scope host

default via 192.0.2.1

192.168.2.0/24 via 192.168.13.1 dev eth0

service network restart

reboot 有效

1、apache安裝在105和106上

2、兩台apache配置保持一緻除了httpd.conf的servername配置的ip位址

3、兩台機器分别安裝keepalived

yum -y install keepalived

4、配置keepalived105

vi /etc/keepalived/keepalived.conf

========================================================

! configuration file for keepalived

global_defs {

   notification_email {

     [email protected]

     [email protected]

     [email protected]

   }

   notification_email_from [email protected]

   smtp_server 192.168.1.0

   smtp_connect_timeout 30

   router_id lvs_devel

}

vrrp_script chk_httpd {

    script "killall -0 httpd"

    interval 1

    weight -2

vrrp_instance httpd_1 {

    state master

    interface eth0

    virtual_router_id 58

    priority 100           #priority 

    advert_int 1

    authentication {

        auth_type pass

        auth_pass 1058

    }

    virtual_ipaddress {

    192.168.1.101           #vip

    track_script {

    chk_httpd

=========================================================

service keepalived start  #啟動keepalived服務

chkconfig keepalived on

5、配置keepalived106

    state backup

    priority 99            #priority 

通路http://192.168.1.101

<!--endfragment-->