HAproxyKeepalived一键安装脚本

#!/bin/bash
##################################
haproxy_path=/usr/local/haproxy
haproxy_conf=/usr/local/haproxy/conf/haproxy.cfg
#############haproxy-install#####################
cd /tmp
tar xvf haproxy-1.4.*.tar.gz
if [ $? -eq 0 ];then
echo "haproxy tar ok"
else
echo "haproxy tar no"
exit
fi
sleep 5
yum install gcc openssl openssl-devel make kernel-devel popt-devel openssl -y
cd /tmp/haproxy-*
make TARGET=linux26 PREFIX=$haproxy_path install
if [ $? -eq 0 ];then
echo "haproxy install ok"
else
echo "haproxy install no"
exit
fi
cd $haproxy_path
mkdir conf logs
touch $haproxy_path/conf/haproxy.cfg
#################haproxy.cfg#########################
echo -e "global\n\tlog 127.0.0.1 local0\n\tmaxconn 65535\n\tchroot $haproxy_path\n\tuser nobody\n\tgroup nobody\n\tdaemon\n\tnbproc 8\n\tpidfile $haproxy_path/haproxy.pid\n" > $haproxy_conf
echo -e "\ndefaults\n\tlog 127.0.0.1 local3\n\tmode http\n\toption httplog\n\toption dontlognull\n\toption redispatch\n\tretries 2\n\tmaxconn 2000\n\tcontimeout 5000\n\tclitimeout 50000\n\tsrvtimeout 50000" >> $haproxy_conf
echo -e "\nlisten web 0.0.0.0:80\n\tmode http\n\tbalance roundrobin\n\tcookie SERVERID insert indirect nocache\n\toption httplog\n\tlog global\n\toption httpchk HEAD /index.html HTTP/1.0" >> $haproxy_conf
read -p "Requires several server " server
for ((i=1;i<=$server;i++))
do
read -p "server ip " ip
echo -e "server server$i $ip:80 cookie $i check inter 2000 rise 2 fall 5" >> $haproxy_conf
done
###########################keepalived###############################
mandir=/usr/local/src/man
kernel=$(uname -r)
keepalived_conf=/etc/keepalived/keepalived.conf
################################
cd /tmp
tar -xvf keepalived*.tar.gz
cd /tmp/keepalived-*
#############keepalived make##################
./configure --prefix=/ --mandir=$mandir --with-kernel-dir=/usr/src/kernels/$kernel*
if [ $? -eq 0 ];then
make
if [ $? -eq 0 ];then
make install
if [ $? -eq 0 ];then
echo "keepalived ok"
else
echo "keepalived no"
exit
fi
else
echo "keeplaived make no"
exit
fi
else
echo "keelalived make no"
fi

touch /etc/keepalived/keepalived.conf
########################################################
read -p "$read_p NIC binding " network
####################keepalived.conf#####################
#############Global configuration#######################
echo -e " ! Configuration File for keepalived\nglobal_defs {\n\tnotification_email {\n\[email protected]\n\t}\n\tnotification_email_from [email protected]\n\tsmtp_server 127.0.0.1\n\tsmtp_connect_timeout 30\n\trouter_id HAproxy\n}" > $keepalived_conf
############Virtual IP Configuration####################
read -p "Requires several server " server
for ((a=1;a<=$server;a++))
do
read -p "$read_p MASTER of BACKUP " states
read -p "$read_p priority " priority
read -p "$read_p vip address " vip
echo -e "vrrp_instance VI_$a {\n\tstate $states\n\tinterface $network\n\tvirtual_router_id 52\n\t priority $priority\n\tadvert_int 1\n\tauthentication {\n\tauth_type PASS\n\tauth_pass tdoa\n\t}\n\tvirtual_ipaddress {\n\t$vip/24 dev $network\n\t}\n}" >> $keepalived_conf
done
#######################################################
/usr/local/haproxy/sbin/haproxy -f $haproxy_conf
/etc/rc.d/init.d/keepalived restart
#########################haproxy-keepalived.sh##############################
touch /etc/rc.d/haproxy-keepalived.sh
echo -e '#!/bin/bash\nwhile\t:\ndo\n haproxypid=`ps -C haproxy --no-header | wc -l`\n\tif [ $haproxypid -eq 0 ];then\n\t\t/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg\n\t\tsleep 5\n\thapropid=`ps -C haproxy --no-header | wc -l`\n\t\tif [ $hapropid -eq 0 ];then\n\t\t\t\t/etc/init.d/keepalived stop\n\t\tfi\n\tfi\n\tsleep 5\n proxypid=`ps -C haproxy --no-header | wc -l`\n\tif (($proxypid!= 0));then\n\t\t/etc/init.d/keepalived start\n\tfi\n\tsleep 5\ndone' > /etc/rc.d/haproxy.sh
#############################################################################
chmod +x /etc/rc.d/haproxy.sh
/usr/bin/nohup /etc/rc.d/haproxy.sh &
rc_local=/etc/rc.local
echo '/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg' >> $rc_local
echo '/etc/rc.d/init.d/keepalived start' >> $rc_local
echo '/usr/bin/nohup /etc/rc.d/haproxy.sh &' >> $rc_local
############################################################################

本文出自 “此身 此时 此地” 博客,请务必保留此出处http://jqbash.blog.51cto.com/7172316/1315722

更多相关文章
  • win10激活工具一键激活方法2则大家可以来了解一下,今日小编还将提供win10一键激活工具下载,下文提到的两种方法都是免费的哦 win10激活工具一键激活方法2则大家可以来了解一下,今日小编还将提供win10一键激活工具下载,下文提到的两种方法都是免费的哦. 法一.KMSpico 软件名称:win ...
  •  Lolipop源码已经放出有些日子了,我发现google在Android 5.0上修复了一个高危漏洞,利用该漏洞可以发送任意广播:不仅可以发送系统保护级别的广播.还可以无视receiver的android:exported=false.android:permisson=XXX 属性的限制. 简直 ...
  • http://www.lintcode.com/en/problem/longest-increasing-continuous-subsequence-ii/# Give you an integer matrix (with row size n, column size m),find the ...
  • 嘿嘿, 逗比们好,今天我们来做一个android上的标签云效果,额, 虽然还不是 很完美,但是已经足够可以展现标签云的效果了,首先来看看效果吧. 额, 录屏只能录到这个份上了,凑活着看吧.今天我们就来实现一下这个效果, 这次我选择直接继承view来, 什么? 这样的效果不是SurfaceView擅长 ...
  • 昨天我们已经报道过诺基亚将会发布自家首款WP8机型Lumia 920和Lumia 820,而最新消息则指除了这两款中高端机型,诺基亚还将推出一款低端WP8的机型,代号为"Zeal".今晚诺基亚将联合微软一起召开发布会,而这次发布会的主题无疑是公布诺基亚自家的WP8手机. Lumi ...
  • 在一些设计上,设计师会要求我们的文字以45度显示,或者135度显示(如下图"抽奖"),可是android本身并没有提供TextView在布局文件中实现旋转的标签,这时候就需要我们去自定义TextView,并且重写onDraw()方法实现效果. 下面,让我们去实现这个效果吧. 首先 ...
一周排行
  • 易网科技讯7月7日下午,第41期五道口沙龙如期举行,本期主题是"医生集团的互联网X悬念",到场嘉宾在圆桌讨论环节讲述了各自对医生集团遇到的问题以及发展的趋势.讨论嘉宾有: 红杉资本中国基金合伙人陈 ...
  • <input type="file" id="myfile" multiple> 这是个很普通的 file 上传组件,multiple 是支持多选,当然 IE ...
  • shell-mysql (1)脚本背景: 由于要在Linux上,远程读取mysql的表的数据,然后做一定清洗后,把数据上传至Hadoop集群中,使用Java写吧,感觉太麻烦了,得在Win上开发好,还得打成jar包, ...
  • http://acm.hdu.edu.cn/showproblem.php?pid=3782 XXX定律 [cpp] view plaincopy #include "iostream"   us ...
  • CentOS6定时自动备份MySQL/SVN   vim /data/backup.sh:   rq=` date +%Y%m%d%H%M%S` mysqldump testdb1 -uroot -proot > ...
  • 随着Android系统的日益发展和日渐成熟,各种平台的合作就日渐频繁.现在主要互联网公司,都退出了各种各样的插件功能.如第三方支付,第三方联合登陆和微博分享等等功能.  近期由于业务的需要,公司提出将项目的功能打成j ...
  • 中国国际数码互动娱乐展览会(ChinaJoy)于2012年3月2日在北京日航新世纪饭店举行"新标识及十周年活动发布会".来自新闻出版总署.团中央等国家相关部委领导,以及来自数码互动娱乐领域企业代表 ...
  • 为追赶中国移动3G通信TD-SCDMA的步伐,北京电信终于在4月3日开始3G手机放号,正式商用.但是目前,我们看到电信的关于3G的宣传资料上,只强调宽带上网,而3G手机的另一项主要标志性功能视频通话要么被轻描淡写,要 ...
  • I remember the very first time I saw the reference to a "Baseline database" in AX2012. It wasn't p ...
  • 学长给开题做的,随机队员时运气不好,把自己队的随走了一个,就剩zcy和我两个人打的.开局还行,但是毕竟人少,没法很快连续出题,后来出题速度就慢了. A: FZU 2054 水题,判断最大值在哪边,输出. #inclu ...