1. 程式人生 > >Keepalived+Nginx+Tomcat

Keepalived+Nginx+Tomcat

int 技術分享 tope end 主備 keepalive XML server from

技術分享圖片

------------------------------------------------------------------------------

Nginx: dd dd0
Tomcat: dd1 dd2 dd3
#dd dd0 配nginx
vi /usr/local/nginx/conf/nginx.conf
upstream localhost{
server 192.168.10.11:8080 weight=2;
server 192.168.10.12:8080 weight=2;
}

location / {
root html;
index index.html index.htm;


proxy_connect_timeout 3;
proxy_send_timeout 30;
proxy_read_timeout 30;
proxy_pass http://localhost;
}

#dd dd0 配keepalived
vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived
#全局配置
global_defs {
notification_email {
[email protected]
[email protected]


}
#通知郵件從哪個地址發出
notification_email_from [email protected]
#通知郵件的smtp地址
smtp_server smtp.exmail.qq.com
#連接smtp服務器的超時時間,單位秒
smtp_connect_timeout 30
#Keepalived的機器標識,一個網絡內保持唯一
router_id nginx-master
}

#執行腳本配置
vrrp_script chk_nginx {
#腳本所在路徑
script "/check_nginx.sh"
#腳本執行間隔時間,秒
interval 2


#優先級
weight 2
}
#keepalived實例配置
vrrp_instance VI_1 {
#指定實例的初始狀態,MASTER或BACKUP兩種狀態,並且需要大寫
state MASTER
#實例綁定的網卡
interface ens33
#虛擬路由標識,是一個數字,整個VRRP內唯一,如果keepalived配置了主備,需要相同
virtual_router_id 51
#優先級,數值愈大,優先級越高
priority 100
#MASTER與BACKUP之間同步檢查的時間間隔,單位為秒
advert_int 1
#通信驗證
authentication {
auth_type PASS
auth_pass 1111
}
#追蹤外圍腳本
track_script {
#這裏配置vrrp_script的名稱
chk_nginx
}
#虛擬ip配置,可配置多個
virtual_ipaddress {
192.168.55.55
}
}

#配置check_nginx.sh
vi /check_nginx.sh
#!/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

#dd1 dd2 dd3 配置Tomcat
mkdir /web
vi /web/index.jsp
<html>
<head>
<title>192.168.55.138</title>
</head>
<body>
<% out.println("<h1>welcome to dd</h1>");%>
</body>
</html>

vi /usr/local/tomcat/conf/server.xml
<Context docBase="/web/" path="" reloadable="false">
</Context>
/usr/local/tomcat/bin/startup.sh
/usr/local/tomcat/bin/shutdown.sh

#客戶端連接 192.168.55.55 測試

Keepalived+Nginx+Tomcat