• haproxy部署配置


    环境

    c1.heboan.com
    192.168.88.1
    CentOS Linux release 7.2.1511 (Core) 
    	yum install -y gcc gcc-c++
    

    在文件中插入以下两行,并重启系统生效

    # vim /etc/security/limits.conf
    *  soft  nofile  65535
    *  hard  nofile  65535
    

    安装

    tar xf haproxy-1.6.3.tar.gz 
    cd haproxy-1.6.3
    make TARGET=linux2628 PREFIX=/application/haproxy-1.6.3
    make install PREFIX=/application/haproxy-1.6.3
    cp ~/haproxy-1.6.3/examples/haproxy.init /etc/init.d/haproxy
    ls -n  /application/haproxy-1.6.3  /application/haproxy
    cd /application/haproxy
    mkdir conf logs
    

    配置环境变量

    vim /etc/profile.d/haproxy.sh
        export PATH=$PATH:/application/haproxy/sbin
    source /etc/profile.d/haproxy.sh 
    haproxy -v
    

    创建组和用户

    groupadd haproxy
    useradd -g haproxy -r haproxy
    chown -R haproxy.haproxy /application/haproxy
    chown -R haproxy.haproxy /application/haproxy-1.6.3
    

    配置日志

    # vim /etc/rsyslog.conf 
    	$ModLoad imtcp	  去掉这两行注释,第19、20行
    	$InputTCPServerRun 514
    	...	
    	local3.*   /application/haproxy/logs/haproxy.log   #第74行增加此行配置
    # systemctl restart rsyslog
    

    配置文件

    haproxy安装后是没有默认配置文件的,需要手动创建。本例将创建/application/haproxy/conf/haproxy.cfg
    当启动haproxy服务时需要使用-f选项指定配置文件路径
    配置文件主要包括全局段与代理段,global代表全局段,defualt、listen、frontend、backend为代理段
    fronted: 用来匹配客户端请求的域名或URI等
    backend: 定义后端服务器集群
    listen: 是frontend与backend的集合,有时仅使用listen即可替代frontend与backend
    
    **********************
    global
        log 127.0.0.1 local3 info        #这的local3指定到我们上面配置的rsyslog,info是日志级别
        maxconn 40960  		     #支持每个进程的最大并发数
        chroot /application/haproxy      #将目录切换至/application/haproxy并执行chroot,增强安全性
        user haproxy	             #配置进程的账户
        group haproxy                    #配置进程的组
        daemon			     #配置haproxy以守护进程模式运行
        nbproc 1                         #指定后台进程的数量
    
    defaults			     #默认段,可以被前段和后端继承的,如果不配置就会继承默认段
        log global
        mode http                        #haproxy工作模式,可选项为:tcp、http、health
        option httplog                   #使用http日志
        option dontlognull               #不记录健康检查的连接
        option forwardfor                #允许插入X-Forwarded-For数据包头给后端真实服务器,可以让后端服务器获取真实客户端IP
        option abortonclose              #当服务器负载很高的时候,自动结束掉当前队列处理比较久的连接
        retries 3                        #重试次数
        maxconn 40960                         
        timeout connect 5000             #设置连接最大超时时间,默认单位为毫秒(ms)
        timeout client 5000              #设置客户端最大超时时间,默认单位为毫秒(ms)
        timeout server 5000              #设置服务器端最大超时时间,默认单位为毫秒(ms)
    
    frontend http-in                     #定义终端用户访问的前端服务器,http-in是自己定义的名字
        bind *:80                        #定义一个或多个监听地址及端口
        acl heboan hdr_beg(host) -i www.heboan.com   #定ACL控制请求包头信息通过正则匹配,-i代表不区分大小写
        acl heboan hdr_beg(host) -i heboan.com
        use_backend www_heboan_com if heboan         #当用户请求触发名为heboan的ACL规则时,代理会将请求转发到heboan_server后端服务组
        #default_backend <后端名>                    #可以定义一个默认的后端
    
        stats enable                     #开启harproxy监控页面
        stats hide-version               #隐藏haproxy版本信息
        stats uri /haproxy-status        #设置监控页面的URI
        stats auth admin:heboan123       #设置监控页面的用户名及密码
        stats admin if TRUE
    
    backend www_heboan_com               #定义后端服务器组
        balance roundrobin               #轮询真实服务器
        cookie SESSION_COOKIE insert indirect nocache
        option httpchk GET /index.html
        server web1 192.168.88.2:80 minconn 100 maxconn 1000 cookie web1 weight 6 check inter 2000 rise 2 fall 4
        server web2 192.168.88.3:80 minconn 100 maxconn 1000 cookie web2 weight 6 check inter 2000 rise 2 fall 4
        #健康检查,健康检查的时间间隔为2000ms,连续2次健康检查成功则认为服务器是有效开启的,连续4次检查检查失败后,认为服务器已经宕机,权重为6
    

    启动haproxy

    haproxy -f /application/haproxy/conf/haproxy.cfg
    

      

  • 相关阅读:
    rpm 和 yum 的使用技巧
    启动Hadoop时遇到Name or service not knownstname 错误
    使用Pod集成Bugtags填坑记
    xcode 上 crash 调试的三种方法
    在MAC上安装虚拟机搭建Ubuntu开发环境
    shell复习---文件解压命令
    XCODE7新变化之-test
    Object-C单元测试&MOCK(摘录精选)
    shell复习笔记----查找与替换
    shell复习笔记----命令与参数
  • 原文地址:https://www.cnblogs.com/sellsa/p/7788044.html
Copyright © 2020-2023  润新知