1 Apache负载均衡
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
2 Tomcat session复制
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 有效
3 HA(高可用性) keepalived 配置
1、 apache 安装在 105 和 106 上
2、两台 apache 配置保持一致,除了 httpd.conf 的 SERVERNAME 配置的 ip 地址
3、两台机器分别安装 keepalived
yum -y install keepalived
4、配置 keepalived ( 105 )
vi /etc/keepalived/keepalived.conf
========================================================
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from admin@wisely.com
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、配置 keepalived ( 106 )
vi /etc/keepalived/keepalived.conf
=========================================================
! Configuration File for keepalived
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from admin@wisely.com
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 BACKUP
interface eth0
virtual_router_id 58
priority 99 #priority
advert_int 1
authentication {
auth_type PASS
auth_pass 1058
}
virtual_ipaddress {
192.168.1.101 #vip
}
track_script {
chk_httpd
}
}
========================================================
访问http://192.168.1.101
<!--EndFragment-->
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com