【转】Nginx双机热备高可用解决方案【二】
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【转】Nginx双机热备高可用解决方案【二】,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1959字,纯文字阅读大概需要3分钟。
内容图文
![【转】Nginx双机热备高可用解决方案【二】](/upload/InfoBanner/zyjiaocheng/1150/b6943bd2668041db99e9d7a30dd14d29.jpg)
主机2的脚本如下
cat nginx_loadbalance_vip2.sh
-
#!/bin/bash
-
-
LANG=C
-
date=$(date -d "today" +"%Y-%m-%d %H:%M:%S")
-
BIND_VIP1=192.168.16.239
-
BIND_VIP2=192.168.16.238
-
WEB_IP_RIP1=192.168.16.241
-
WEB_IP_RIP2=192.168.16.240
-
NETMASK=255.255.255.0
-
GATEWAY=192.168.16.1
-
BROADCAST=219.232.254.255
-
function_bind_vip1()
-
{
-
/sbin/ifconfig eth0:ha1 ${BIND_VIP1} broadcast ${BROADCAST} netmask ${NETMASK} up
-
/sbin/route add -host ${GATEWAY} dev eth0:ha1
-
}
-
-
-
function_bind_vip2()
-
{
-
/sbin/ifconfig eth0:ha2 ${BIND_VIP2} broadcast ${BROADCAST} netmask ${NETMASK} up
-
/sbin/route add -host ${GATEWAY} dev eth0:ha2
-
}
-
-
function_restart_nginx()
-
{
-
kill -USR1 `cat /var/log/nginx/nginx.pid`
-
}
-
-
function_remove_vip1()
-
{
-
/sbin/ifconfig eth0:ha1 ${BIND_VIP1} broadcast ${BROADCAST} netmask ${NETMASK} down
-
}
-
-
function_remove_vip2()
-
{
-
/sbin/ifconfig eth0:ha2 ${BIND_VIP2} broadcast ${BROADCAST} netmask ${NETMASK} down
-
}
-
-
function_vip_arping1()
-
{
-
/sbin/arping -I eth0 -c 3 -s ${BIND_VIP1} ${GATEWAY} > /dev/null 2>&1
-
}
-
-
function_vip_arping2()
-
{
-
/sbin/arping -I eth0 -c 3 -s ${BIND_VIP2} ${GATEWAY} > /dev/null 2>&1
-
}
-
-
bind_time_vip1="N";
-
bind_time_vip2="N";
-
-
-
-
-
while true
-
do
-
httpcode_rip1=`/usr/bin/curl -o /dev/null -s -w %{http_code} http://${WEB_IP_RIP1}/status.htm`
-
httpcode_rip2=`/usr/bin/curl -o /dev/null -s -w %{http_code} http://${WEB_IP_RIP2}/status.htm`
-
#vip1
-
if [ x$httpcode_rip1 == "x200" ];
-
then
-
if [ $bind_time_vip1="N" ];
-
then
-
function_bind_vip1
-
function_vip_arping1
-
function_restart_nginx
-
bind_time_vip1="Y"
-
fi
-
function_vip_arping1
-
else
-
if [ $bind_time_vip1 == "Y" ];
-
then
-
-
-
function_remove_vip1
-
bind_time_vip1="N"
-
fi
-
fi
-
-
#vip2
-
if [ x$httpcode_rip2 == "x200" ];
-
then
-
if [ $bind_time_vip2="Y" ];
-
then
-
function_remove_vip2
-
bind_time_vip2="N"
-
fi
-
else
-
if [ $bind_time_vip2 == "N" ];
-
then
-
function_bind_vip2
-
function_vip_arping2
-
function_restart_nginx
-
bind_time_vip2="Y"
-
fi
-
function_vip_arping2
-
fi
-
sleep 5
-
done
原文:http://sageliu.blog.51cto.com/8969608/1546178
内容总结
以上是互联网集市为您收集整理的【转】Nginx双机热备高可用解决方案【二】全部内容,希望文章能够帮你解决【转】Nginx双机热备高可用解决方案【二】所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。