Haproxy的安装

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1 下载地址

http://www.haproxy.org/download/1.6/src/haproxy-1.6.14.tar.gz

2 安装

tar xf haproxy-1.6.14.tar.gz  -C /usr/local/src/
cd /usr/local/src/
cd haproxy-1.6.14/
uname -a

修改 Makefile
[root@node1 haproxy-1.6.14]# vim Makefile
……
PREFIX = /usr/local/haproxy         #修改
SBINDIR = $(PREFIX)/sbin
MANDIR = $(PREFIX)/share/man
DOCDIR = $(PREFIX)/doc/haproxy

#### TARGET system
# Use TARGET= to optimize for a specifc target OS among the
# following list (use the default "generic" if uncertain) :
#    generic, linux22, linux24, linux24e, linux26, solaris,
#    freebsd, openbsd, netbsd, cygwin, custom, aix51, aix52
TARGET = linux26                    #添加

make && make install 

安装完的信息:
install -d "/usr/local/haproxy/sbin"
install haproxy  "/usr/local/haproxy/sbin"
install -d "/usr/local/haproxy/share/man"/man1
install -m 644 doc/haproxy.1 "/usr/local/haproxy/share/man"/man1
install -d "/usr/local/haproxy/doc/haproxy"
拷贝启动文件
cp /usr/local/haproxy/sbin/haproxy /usr/sbin/ 
将启动脚本拷贝到/etc/init.d/haproxy
cp haproxy.init /etc/init.d/haproxy
授予执行权限
chmod +x /etc/init.d/haproxy
useradd -r haproxy
创建haproxy工作目录
mkdir /etc/haproxy
mkdir /var/lib/haproxy
拷贝主配置文件
cp auth.cfg /etc/haproxy/haproxy.cfg   

打开514 监听日志
vim /etc/rsyslog.conf 

$ModLoad imtcp
$InputTCPServerRun 514
local3.*                                                /var/log/haproxy.log

service rsyslog restart

3 haproxy 配置文件

#全局配置
global
        #日志级别
        log 127.0.0.1  local3 info

        chroot /var/lib/haproxy
        #运行用户
        user haproxy
        #运行用户组
        group haproxy
        #守护进程运行方式
        daemo
        #最大连接数
        maxconn 8192
#默认配置
defaults
        #设置log使用全局log
        log global
        #工作模式
        mode http
        #记载http日志
        option  httplog
        #不记录空日志 
        option  dontlognull
        #连接超时时间ms为单位
        timeout connect         5000
        #客户端连接超时时间
        timeout client          50000
        #服务端连接超时时间
        timeout server          50000
#前端代理
        #运行用户组
        group haproxy
        #守护进程运行方式
        daemon
        #最大连接数
        maxconn 8192
#默认配置
defaults
        #设置log使用全局log
        log global
        #工作模式
        mode http
        #记载http日志
        option  httplog
        #不记录空日志 
        option  dontlognull
        #连接超时时间ms为单位
        timeout connect         5000
        #客户端连接超时时间
        timeout client          50000
        #服务端连接超时时间
        timeout server          50000
#前端代理
frontend www_hellozz_com
        #绑定主机和端口
        bind *:80 
        #uri状态
        stats uri /haproxy?stats
        #转发到对应的后端主机组 
        default_backend backend_www_hellozz_com
#后端代理 
backend backend_www_hellozz_com
		#自定义头部信息获取客户端真实IP
        option forwardfor header X-REAL-IP
        #自定义option健康检查 可不写 默认检查端口
        option httpchk GET /index.html
        #负载均衡方式 roundrobin 轮询,source like iphash,cookie,SERVERID
		#source 根据请求源IP
		#static-rr 根据权重
		#leastconn 最少连接者先处理
		#uri 根据请求的uri
		#url_param 根据请求的url参数
		#rdp-cookie 据据cookie(name)来锁定并哈希每一次请求
		#hdr(name) 根据HTTP请求头来锁定每一次HTTP请求
		#roundrobin 轮询方式
		balance roundrobin
        #真实Server   check 支持url健康检测 inter 时间间隔默认为毫秒,rise 检查次数, fall 失败次数 weight 权重
        server node1 10.10.100.151:80 check inter 2000 rise 3  fall 3 weight 1
        server node2 10.10.100.152:80 check inter 2000 rise 3  fall 3 weight 1

启动haproxy
/etc/init.d/haproxy start

4 haproxy负载均衡算法

Haproxy有8种负载均衡算法(balance),分别如下:
1.balance roundrobin # 轮询,软负载均衡基本都具备这种算法
2.balance static-rr # 根据权重,建议使用
3.balance leastconn # 最少连接者先处理,建议使用
4.balance source # 根据请求源IP,建议使用
5.balance uri # 根据请求的URI
6.balance url_param,# 根据请求的URl参数'balance url_param' requires an URL parameter name
7.balance hdr(name) # 根据HTTP请求头来锁定每一次HTTP请求
8.balance rdp-cookie(name) # 根据据cookie(name)来锁定并哈希每一次TCP请求

 

转载于:https://my.oschina.net/54188zz/blog/3026153

你可能感兴趣的:(操作系统,开发工具,后端)