• Haproxy使用


    Haproxy的使用

    1.安装haproxy

    yum install -y haproxy
    

    2.配置haproxy

    vim /etc/haproxy/haproxy.cfg
    global
    maxconn 100000
    chroot /var/lib/haproxy
    uid 99
    gid 99
    daemon
    nbproc 1
    pidfile /var/run/haproxy.pid
    log 127.0.0.1 local6 info
    
    defaults
    option http-keep-alive
    option  forwardfor
    maxconn 100000
    mode http
    timeout connect 300000ms
    timeout client  300000ms
    timeout server  300000ms
    
    listen stats
     mode http
     bind 0.0.0.0:9999
     stats enable
     log global
     stats uri     /haproxy-status
     stats auth    haadmin:123456
    
    #frontend web_port
    frontend web_port
            bind 0.0.0.0:80
            mode http
            option httplog
            log global
            option  forwardfor
    ###################ACL Setting##########################
            acl pc          hdr_dom(host) -i www.elk.com
            acl mobile      hdr_dom(host) -i m.elk.com
    ###################USE ACL##############################
            use_backend     pc_host        if  pc
            use_backend     mobile_host    if  mobile
    ########################################################
    
    backend pc_host
            mode    http
            option  httplog
            balance source
            server web1  10.0.0.53:8081 check inter 2000 rise 3 fall 2 weight 1
    
    backend mobile_host
            mode    http
            option  httplog
            balance source
            server web1  10.0.0.53:8080 check inter 2000 rise 3 fall 2 weight 1
    

    3.配置说明

    [root@web01 ~]# vim /etc/haproxy/haproxy.cfg
    #全局配置
    global
    #最大并发
    maxconn 100000
    #安全机制
    chroot /var/lib/haproxy
    #指定启动的用户和组
    uid 99
    gid 99
    #守护进程
    daemon
    #haproxy的进程数
    nbproc 1
    #指定pid文件
    pidfile /var/run/haproxy.pid
    #指定日志级别
    log 127.0.0.1 local6 info
    
    #默认配置
    defaults
    #开启长连接
    option http-keep-alive
    #获取用户真实IP
    option  forwardfor
    #最大连接数
    maxconn 100000
    #支持http协议
    mode http
    #设置连接超时时间
    timeout connect 300000ms
    timeout client  300000ms
    timeout server  300000ms
    
    #监控状态
    listen status
     #支持http
     mode http
     #监听端口
     bind 0.0.0.0:9999
     #启动
     stats enable
     #日志级别
     log global
     #访问uri地址
     stats uri     /haproxy-status
     #状态页用户名和密码
     stats auth    haadmin:123456
    
    #frontend web_port
    frontend web_port
            bind 0.0.0.0:80
            mode http
            option httplog
            log global
            option  forwardfor
    ###################ACL Setting##########################
            acl nginx       hdr_dom(host) -i www.nginx.com  # 设置匹配规则
            acl tomcat      hdr_dom(host) -i www.tomcat.com
    ###################USE ACL##############################
            use_backend     nginx_host     if  nginx        # 如果是www.nginx.com就访问nginx_host
            use_backend     tomcat_host    if  tomcat
    ########################################################
    
    backend nginx_host
            mode    http
            option  httplog
            balance source
            #代理到后端的主机
            server web01  10.0.0.7:8081 check inter 2000 rise 3 fall 2 weight 1
    
    backend tomcat_host
            mode    http
            option  httplog
            balance source
            server web01  10.0.0.7:8080 check inter 2000 rise 3 fall 2 weight 1
    

    4.最简单的配置

    [root@node1 ~]# cat /etc/haproxy/haproxy.cfg 
    global
        log         127.0.0.1 local2
    
        chroot      /var/lib/haproxy
        pidfile     /var/run/haproxy.pid
        maxconn     4000
        user        haproxy
        group       haproxy
        daemon
    
        stats socket /var/lib/haproxy/stats
    
    defaults
        mode                    http
        log                     global
        option                  httplog
        option                  dontlognull
        option http-server-close
        option forwardfor       except 127.0.0.0/8
        option                  redispatch
        retries                 3
        timeout http-request    10s
        timeout queue           1m
        timeout connect         10s
        timeout client          1m
        timeout server          1m
        timeout http-keep-alive 10s
        timeout check           10s
        maxconn                 3000
    
    frontend  main *:80         # 设置服务启动的端口
        acl url_static       path_beg       -i /static /images /javascript /stylesheets
        acl url_static       path_end       -i .jpg .gif .png .css .js
    
        use_backend static          if url_static
        default_backend             ceph_node            # 如果是直接访问80端口     
    
    backend static                                       # 这个接了上面的if url_static
        balance     roundrobin
        server      static 127.0.0.1:4331 check
    
    backend ceph_node
        balance     roundrobin                # 设置到后端的算法
        server  node1 192.168.1.2:81 check    # 代理的后端主机
        server  node2 192.168.1.3:81 check
    
    
  • 相关阅读:
    join()方法的使用
    synchronized关键字
    voliatle关键字
    一.线程概述
    NIO demo
    同步阻塞I/O
    Ubuntu16.04.1 安装Nginx
    垃圾收集
    如何从头开始安装 wordpress
    centos 6 安装 gnu c++ 等开发工具
  • 原文地址:https://www.cnblogs.com/gshelldon/p/14504614.html
Copyright © 2020-2023  润新知