当前位置: 代码迷 >> 综合 >> haproxy-1.8.14安装及简单配置
  详细解决方案

haproxy-1.8.14安装及简单配置

热度:77   发布时间:2023-12-26 14:14:53.0

1、上传

     rz haproxy

2、解压缩

     tar -zxvf haproxy-1.8.14.tar.gz

3、安装

     cd haproxy

     make TARGET=linux2628 PREFIX=/usr/local/haproxy

     make install PREFIX=/usr/local/haproxy

4、配置

     用户

     useradd -r -s /nologin haproxy

    

     将二进制文件复制到"/usr/sbin/"目录下    

          cp /usr/local/haproxy/sbin/haproxy /usr/sbin/haproxy

         

     将可执行脚本文件复制到"/etc/init.d/"目录下

          进入解压后的haproxy-1.8.14目录下(下面的命令是在haproxy-1.8.14目录下操作的)

          cd examples

          cp haproxy.init /etc/init.d/haproxy

         

          给/etc/init.d 目录下的haproxy脚本文件可执行权限

         

          chmod +x /etc/init.d/haproxy

 

    

     主配置文件目录

     mkdir /etc/haproxy/

    

     在/etc/haproxy/目录下新建配置文件haproxy.cfg

     touch haproxy.cfg

     注:配置文件的内容为此文档最下面的内容,记得更改IP地址

 

     日志

     vim /etc/rsyslog.conf

     删除15、16行注释号,并添加

     local3.* /var/log/haproxy.log    

     在vim下设置行号的命令为      :set nu   (在命令模式,非编辑模式下使用)

    

     开启haproxy

     service haproxy start

    

5.测试

     注:因作业的haproxy负载均衡是基于域名的acl的,所以测试需要修改hosts文件内容

     Windows下:

    

     修改目录C:\Windows\System32\drivers\etc 下的hosts(如果找不到,应该是默认隐藏了,将文件查看中显示隐藏

     文件选项勾选;另:window10第一次修改可能比较麻烦,需要修改权限,请自行百度)

    

     添加:

     IP www.test.com

     IP bbs.test.com

     IP为安装haproxy虚拟机的IP地址

 

    

     打开浏览器:浏览www.test.com 会显示backend server_www对应的虚拟机web的主页

                    浏览bbs.test.com会显示backend server_bbs对应的虚拟机web的主页

                    浏览其他url会显示backend http_back对应的虚拟机web的主页

                   

    

     浏览     IP:8080/haproxy-status(IP为安装haproxy的虚拟机的IP地址)

               会弹出账号密码验证

               账号:admin

               密码:123456

              

               账号和密码可在配置文件中自己修改

              

               验证成功后,会显示haproxy对后台web的管理页面

         

         

6.注释:记得关闭防火墙,开启haproxy要用service haproxy start,不要用systemctl start haproxy,

          使用systemctl总是无法成功,具体原因暂不清楚,有待查询

          要确保web服务器能正常访问;

          其他问题暂时没想到

 

 

 

haproxy主配置文件:

 

global

     log 127.0.0.1 local3 info

     chroot /usr/local/haproxy

     user haproxy

     group haproxy

     daemon

     maxconn 4000

 

defaults

     log global

     mode http

     option httplog

     option dontlognull

 

listen admin_stats

     bind 0.0.0.0:8080

     mode http

     log 127.0.0.1 local3 err

     stats refresh 30s

     stats uri /haproxy-status

     stats realm welcome login\ Haproxy

     stats auth admin:123456

     stats hide-version

     stats admin if TRUE    

 

frontend http_front

     bind *:80

     stats uri /haproxy?stats

 

     #acl_policy

 

     acl host_www hdr_reg(host) -i ^(www.test.com)

     acl host_bbs hdr_dom(host) -i bbs.test.com

 

     use_backend server_www if host_www

     use_backend server_bbs if host_bbs

     default_backend http_back

 

backend server_www

     balance roundrobin

     option httpchk GET /index.html

     option forwardfor header X-Forwarded-For

     server node1 192.168.4.199:80 check inter 2000 rise 3 fall 3 weight 30

    

backend server_bbs

     balance roundrobin

     option httpchk GET /index.html

     option forwardfor header X-Forwarded-For

     server node1 192.168.4.100:80 check inter 2000 rise 3 fall 3 weight 30

 

backend http_back

     balance roundrobin

     option httpchk GET /index.html

     option forwardfor header X-Forwarded-For

     server node1 192.168.4.100:80 check inter 2000 rise 3 fall 3 weight 30

  相关解决方案