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()方法实现效果. 下面,让我们去实现这个效果吧. 首先 ...
一周排行
  • PhoneGap是一套能让你使用HTML5轻松调用本地API接口和发布应用到商店的应用开发平台.官方说有低成本,低开发周期,轻量化等优点,这些咱暂时也没法证明,略过不表.但是有一条跨平台,却是很明显的优势.因为它采用 ...
  • 常用脚本备份 自动配置msmtp,使用mail发邮件 #!/bin/bash SRC=/usr/local/src cd $SRC #install msmtp client # if your want suppo ...
  • 原工程 右键Copy   再右键点Paste 改新的工程名
  • 之前同事说padding-bottom 可以实现等比缩放响应式图片,当时忙,没有好好看…… 今天特意思考了下,实现的css代码如下: .img-container { position: relative; padd ...
  • 三层交换机端口连接:实物图为你解答故障,正确配置IP为你的常见故障扫清一切难题.下图是常见的端口,先了解了解,然后开始你的三层交换机端口连接之路吧. 三层交换机端口连接提问:当您通过GBIC/1 Gbps端口将一个三 ...
  • 厂商说 大数据不是一个分析工具,而是新的基础架构. 大数据的核心价值是如何把数据变成商业价值. 大数据存储,可以认为是存储厂商基于现有大数据应用的特点进行优化的解决方案. 记者不久前去香港出差,刚下飞机就收到招商银行 ...
  • 题目链接:http://www.tyvj.cn/p/1001 没什么好讲的,,不过因为一个小问题一直WA,,,,素数的时候一定记得是sqrt(fabs(x)) 1 #include<iostream> 2 ...
  •      上篇文章主要介绍了程序集的内容:程序集和反射(一),时隔这么久,今天终于腾出点时间,把反射部分的知识点给整理一下,不把这个写完,心里总觉得有点堵.对于反射,我相信很多人跟LZ一个德行,不会,所以不用,不用, ...
  • 转载请注明出处:http://blog.csdn.net/u012860063?viewmode=contents 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=151 ...