java編程—如何搭建Keepalived+Nginx+Tomcat高可用負載均衡架構

chk_nginx

}

#虛擬ip配置,可配置多個

virtual_ipaddress {

192.168.10.200

}

}

5.4 Nginx狀態檢查腳本創建

(1)新建Nginx的狀態檢查腳本:check_nginx.sh

(2)內容如下:

#!/bin/sh

NGINX=/usr/common/nginx/sbin/nginx

PORT=80

nmap localhost -p $PORT | grep "$PORT/tcp open"

#echo $?

if [ $? -ne 0 ];then

$NGINX -s stop

#這裡再次嘗試啟動NG

$NGINX

sleep 5

nmap localhost -p $PORT | grep "$PORT/tcp open"

[ $? -ne 0 ] && cd /usr/common/keepalived/sbin && pkill keepalived

echo "stoped"

fi

4 運行測試

  • (1)為了更直觀的查看到keepalived切換的效果,將11服務器中的nginx的upstream服務只配置11的tomcat服務地址,12服務器中的upstream服務只配置12的tomcat服務地址,這樣只需要觀察將11服務器中的nginx關閉看使用虛擬ip是否可以訪問到12服務器的tomcat。
  • (2)分別啟動兩個服務器中的tomcat、nginx、keepalived,訪問虛擬ip:192.168.10.200,可以查看到訪問的是主keepalived服務器的tomcat
java編程—如何搭建Keepalived+Nginx+Tomcat高可用負載均衡架構


  • image.png
  • (3)關閉11服務器的nginx,nginx -s stop,再次訪問虛擬ip,如下:說明主keepalived通過配置的腳本檢測到了本服務的nginx服務掛掉了,所以立馬切換至了備的keepalived,這時12服務器的keepalived升為了主,所以就訪問到了12服務器的tomcat。
java編程—如何搭建Keepalived+Nginx+Tomcat高可用負載均衡架構

java編程—如何搭建Keepalived+Nginx+Tomcat高可用負載均衡架構


分享到:


相關文章: