HAproxy-Keepalived一键安装脚本
发布时间:2020-12-15 07:09:28 所属栏目:安全 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #!/bin/bash##################################haproxy_path=/usr/local/haproxyhaproxy_conf=/usr/local/haproxy/conf/haproxy.cfg#############hap
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 #!/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 "globalntlog 127.0.0.1 local0ntmaxconn 65535ntchroot $haproxy_pathntuser nobodyntgroup nobodyntdaemonntnbproc 8ntpidfile $haproxy_path/haproxy.pidn" > $haproxy_conf echo -e "ndefaultsntlog 127.0.0.1 local3ntmode httpntoption httplogntoption dontlognullntoption redispatchntretries 2ntmaxconn 2000ntcontimeout 5000ntclitimeout 50000ntsrvtimeout 50000" >> $haproxy_conf echo -e "nlisten web 0.0.0.0:80ntmode httpntbalance roundrobinntcookie SERVERID insert indirect nocachentoption httplogntlog globalntoption 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 "NIC binding " network ####################keepalived.conf##################### #############Global configuration####################### echo -e " ! Configuration File for keepalivednglobal_defs {ntnotification_email {n[email?protected]nt}ntnotification_email_from [email?protected]ntsmtp_server 127.0.0.1ntsmtp_connect_timeout 30ntrouter_id HAproxyn}" > $keepalived_conf ############Virtual IP Configuration#################### read -p "Requires several server " server for ((a=1;a<=$server;a++)) do read -p "MASTER of BACKUP " states read -p "priority " priority read -p "virtual_router id " id read -p "vip address " vip echo -e "vrrp_instance VI_$a {ntstate $statesntinterface $networkntvirtual_router_id $idnt priority $priorityntadvert_int 1ntauthentication {ntauth_type PASSntauth_pass tdoant}ntvirtual_ipaddress {nt$vip/24 dev $networknt}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/bashnwhilet:ndon haproxypid=`ps -C haproxy --no-header | wc -l`ntif [ $haproxypid -eq 0 ];thenntt/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfgnttsleep 5nthapropid=`ps -C haproxy --no-header | wc -l`nttif [ $hapropid -eq 0 ];thenntttt/etc/init.d/keepalived stopnttfintfintsleep 5n proxypid=`ps -C haproxy --no-header | wc -l`ntif (($proxypid!= 0));thenntt/etc/init.d/keepalived startntfintsleep 5ndone' > /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 ############################################################################ 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |