根據真實生產環境 總結。
硬件:共計2臺Linux服務器 76和77 每臺服務器都安裝 Nginx Keepalive Tomcat
80做爲虛擬ip,負責對外鏈接。 78和79是兩臺mysql數據庫,讀寫分離。
效果:若是一臺服務器產生故障,另外一臺立刻接替服務
重點:在於keepalive心跳的配置
安裝過程此處省略……
安裝完成後首先配置 Keepalive
1.Keepalive
兩臺服務器端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
沒必要作特殊設置