2Nginx+keepalive+2tomcat 故障轉移

根據真實生產環境 總結。

硬件:共計2臺Linux服務器  76和77  每臺服務器都安裝 Nginx  Keepalive  Tomcat
80做爲虛擬ip,負責對外鏈接。   78和79是兩臺mysql數據庫,讀寫分離。

效果:若是一臺服務器產生故障,另外一臺立刻接替服務


2Nginx+keepalive+2tomcat 故障轉移 - 朝鮮程序員 - 朝鮮程序員的博客
 


重點:在於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
沒必要作特殊設置
相關文章
相關標籤/搜索