linux haproxy 脚本,haproxy部署脚本

最近为了测试haproxy的负载均衡,打算搭建几台haproxy测试机,但我又懒想直接用脚本搭建起就可以使用,以后要测试的时候,也可以直接就用脚本搞定.下面来看脚本吧.

cat /root/soft_shell/haproxy_install.sh

#!/bin/bash

#install haproxy

#20160224 by rocdk890

#variables

dir=/usr/local

ha_dir=${dir}/haproxy

ha_cfg=${ha_dir}/conf/haproxy.cfg

ha_init=/etc/init.d/haproxy

kernel=`uname -r | grep '2.6'`

pcre=$(rpm -qa | grep 'pcre' | wc -l)

echo "$dir, $ha_dir, $ha_cfg, $kernel, $pcre"

#check

if [ ! "$kernel" -o "$pcre" -lt "2" ];then

echo -e "the script need linux 2.6 kernel and pcre pcre-devel \nyou can usage 'yum install pcre pcre-devel' or 'rpm -ivh pcre-devel-6.6-2.el5_1.7.x86_64.rpm'"

exit 1

fi

#function

install_ha_cfg (){

#configure haproxy.cfg

#default configure file for test,but need your change the frontend server and backend server ip address,

#good luck!

echo '

global

log 127.0.0.1 local0

maxconn 4096 #最大连接数

chroot /usr/local/haproxy #安装目录

uid 99 #用户haproxy

gid 99 #组haproxy

daemon #守护进程运行

nbproc 1 #进程数量

#pidfile /usr/local/haproxy/logs/haproxy.pid #haproxy pid

pidfile /usr/local/haproxy/haproxy.pid #haproxy pid

defaults

log global

mode http #7层 http;4层tcp

option httplog #http 日志格式

option httpclose #主动关闭http通道

option redispatch #serverId对应的服务器挂掉后,强制定向到其他健康的服务器

option dontlognull

maxconn 2000 #最大连接数

contimeout 5000 #连接超时(毫秒)

clitimeout 50000 #客户端超时(毫秒)

srvtimeout 50000 #服务器超时(毫秒)

frontend haproxy_test #定义前端服务器(haproxy)

bind *:80 #监听地址

default_backend server_pool #指定后端服务器群

#errorfile 502 /usr/local/haproxy/html/maintain.html

#errorfile 503 /usr/local/haproxy/html/maintain.html

#errorfile 504 /usr/local/haproxy/html/maintain.html

backend server_pool #定义后端服务器群(web server/apache/nginx/iis..)

mode http

option forwardfor #后端服务器(apache/nginx/iis/*),从Http Header中获得客户端IP

balance roundrobin #负载均衡的方式,轮询方式

#balance leastconn #负载均衡的方式,最小连接

cookie SERVERID #插入serverid到cookie中,serverid后面可以定义

option httpchk HEAD /check.html #用来做健康检查html文档

server server1 10.0.1.252:80 cookie server1 check inter 2000 rise 3 fall 3 weight 3

server server1 10.0.1.253:80 cookie server1 check inter 2000 rise 3 fall 3 weight 3

server server1 10.0.1.254:80 cookie server1 check inter 2000 rise 3 fall 3 weight 3

#server server2 10.0.1.253:80 cookie server2 check inter 2000 rise 3 fall 3 maxconn 120 weight 3

#server server3 10.0.1.254:80 cookie server3 check maxconn 90 rise 2 fall 3 weight 3

#服务器定义:

#cookie server1表示serverid为server1;

#check inter 2000 是检测心跳频率(check 默认 );

#rise 3 表示 3次正确认为服务器可用;

#fall 3 表示 3次失败认为服务器不可用;

#weight 表示权重。

listen admin_stat #status

bind *:8080 #监听端口

mode http #http的7层模式

stats refresh 30s #统计页面自动刷新时间

stats uri /haproxy-stats #统计页面URL

stats realm Haproxy\ Statistics #统计页面密码框上提示文本

stats auth admin:admin #统计页面用户名和密码设置

stats hide-version #隐藏统计页面上HAProxy的版本信息

stats admin if TRUE #手工启用/禁用,后端服务器

' > "$ha_cfg" && sed -i '1 d' "$ha_cfg"

}

install_ha_init.d (){

#configure /etc/init.d/haproxy

if [ ! -e "$ha_init" ];then

wget -c http://download.slogra.com/haproxy/haproxy -O /etc/init.d/haproxy

chmod +x /etc/init.d/haproxy

chkconfig haproxy on

else

echo "File haproxy already there !"

fi

}

#install

if [ ! -e "$ha_dir" ];then

wget -nc http://download.slogra.com/haproxy/haproxy-1.4.26.tar.gz

tar zxf haproxy*.tar.gz

cd haproxy*/

make TARGET=linux26 USE_STATIC_PCRE=1 PREFIX=/usr/local/haproxy && make install PREFIX=/usr/local/haproxy && mkdir /usr/local/haproxy/{html,logs,conf}

cd ../

#

if [ ! -e "$ha_dir" ];then

echo "error! can't install haproxy please check ! Will now out of the script !"

exit 1

else

! grep 'haproxy' /etc/syslog.conf && echo 'local1.* /var/log/haproxy.log' >> /etc/syslog.conf

sed -ir 's/SYSLOGD_OPTIONS="-m 0"/SYSLOGD_OPTIONS="-r -m 0"/g' /etc/sysconfig/syslog && /etc/init.d/syslog restart

install_ha_cfg

install_ha_init.d

rm -rf haproxy*/

fi

else

echo "haproxy is already exists!"

fi

本脚本把启动文件也放进去了的,所以启动的时候可以直接执行service haproxy start,当然最好是先改好了配置文件再启动.好了,配置文件里也有说明方便大家自己修改.

夜空- 本站版权

1、本站所有主题由该文章作者发表,该文章作者与夜空享有文章相关版权

2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和夜空的同意

3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责

4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意

5、原文链接:blog.slogra.com/post-642.html

post-642.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值