根据真实生产环境 总结。
硬件:共计2台Linux服务器 76和77 每台服务器都安装 Nginx Keepalive Tomcat
80作为虚拟ip,负责对外连接。 78和79是两台mysql数据库,读写分离。
效果:如果一台服务器产生故障,另一台马上接替服务
重点:在于keepalive心跳的配置
安装过程此处省略……
硬件:共计2台Linux服务器 76和77 每台服务器都安装 Nginx Keepalive Tomcat
80作为虚拟ip,负责对外连接。 78和79是两台mysql数据库,读写分离。
效果:如果一台服务器产生故障,另一台马上接替服务
重点:在于keepalive心跳的配置
安装过程此处省略……
安装完成后首先配置 Keepalive
1.Keepalive
两台服务器端keepalived.conf内容都为如下,都设置为backup,不抢占
(76)主机
两台服务器端keepalived.conf内容都为如下,都设置为backup,不抢占
(76)主机
! Configuration File for keepalived
global_defs {
notification_email {
xxxx@139.com 切换等操作时 email通知邮件地址
}
notification_email_from root@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id HTTP_HA
}
vrrp_sync_group VG_1 { 同步组设置
group {
VI_1
}
#notify_master /home/notify_master.sh
#notify_backup /home/notify_backup.sh
#notify_fault /home/notify_fault.sh
}
vrrp_instance VI_1 { 实例设置
preempt_delay 300 抢占延迟
state BACKUP 实例初始状态(确定主备)
#smtp_alert
interface eth0 实例节点固有IP(非VIP)的网卡,用来发VRRP包
virtual_router_id 51 设置VRID这里非常重要 相同的VRID为一个组他将决定多播的MAC地址
advert_int 1 检查间隔默认为1秒
authentication {
auth_type PASS 认证方式可以是PASS或AH两种认证方式
auth_pass 1111 认证密码
}
nopreempt # backup server comment it (从机 注释此参数)
priority 150 # backup server change to 100 用来选举master的数字越大,优先级越高
virtual_ipaddress { 设置虚拟IP
10.0.0.80/24 dev eth0
}
}
(77)从机
! Configuration File for keepalived
global_defs {
notification_email {
xxxx@139.com 切换等操作时 email通知邮件地址
}
notification_email_from root@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id HTTP_HA
}
vrrp_sync_group VG_1 { 同步组设置
group {
VI_1
}
#notify_master /home/live800/working/keepalived/notify_master.sh
#notify_backup /home/live800/working/keepalived/notify_backup.sh
#notify_fault /home/live800/working/keepalived/notify_fault.sh
}
vrrp_instance VI_1 { 实例设置
preempt_delay 300 抢占延迟
state BACKUP 实例初始状态(确定主备)
#smtp_alert
interface eth0 实例节点固有IP(非VIP)的网卡,用来发VRRP包
virtual_router_id 51 设置VRID这里非常重要 相同的VRID为一个组他将决定多播的MAC地址
advert_int 1 检查间隔默认为1秒
authentication {
auth_type PASS 认证方式可以是PASS或AH两种认证方式
auth_pass 1111 认证密码
}
#nopreempt # backup server comment it (从机 注释此参数)
priority 100 # backup server change to 100 用来选举master的数字越大,优先级越高
virtual_ipaddress { 设置虚拟IP 可以设置多个
10.0.0.80/24 dev eth0
}
}
2.Nginx
这里只列出主要几行配置
(10.0.0.76)(10.0.0.77)
upstream TomcatServer {
server 127.0.0.1:8080 max_fails=0 fail_timeout=10s;}
server {server_name localhost;
listen 80;
include proxy.conf;
location / {
proxy_pass http://TomcatServer;
}
location /ns {include stub_status.conf;}
}
}
3.Tomcat
不必做特殊设置