haproxy2.0入门部署教程

测试后发现,haproxy2.0和之前的版本部署有些许差异,配置文件的写法也是不同的

测试环境:Centos7.3

IP:172.16.1.227

  172.16.1.228 部署httpd,页面内容为this is 228

  172.16.1.230 部署httpd,页面内容为默认内容

部署步骤:

1.1需要先安装lua5.3版本,否则后面后报错

curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gz 
yum install readline-devel gcc -y
tar zxvf lua-5.3.5.tar.gz
cd lua-5.3.5
make linux
make INSTALL_TOP=/usr/local/lua install
yum install systemd-devel wget openssl openssl-devel -y

1.2部署haproxy。可以看到安装PREFIX指定的安装目录为/usr/local/haproxy 。haproxy还可以到这个地址下载https://src.fedoraproject.org/repo/pkgs/haproxy/

cd
wget https://www.haproxy.org/download/2.0/src/haproxy-2.0.1.tar.gz
tar
zxvf haproxy-2.0.1.tar.gz cd haproxy-2.0.1 make -j $(nproc) TARGET=linux-glibc USE_OPENSSL=1 USE_ZLIB=1 USE_LUA=1 LUA_LIB=/usr/local/lua/lib/ LUA_INC=/usr/local/lua/include/ USE_PCRE=1 USE_SYSTEMD=1 make install PREFIX=/usr/local/haproxy
cd

1.3创建运行用户(应该也可忽略,只是使用该用户运行,加强安全而已。我一般是直接使用root用户运行)

useradd haproxy -s /sbin/nologin

1.4创建配置文件haproxy.cfg。在安装目录/usr/local/hadproxy下新建haproxy.cfg,内容如下 配置文件参考链接:https://blog.csdn.net/genglei1022/article/details/83374188

[root@node2 haproxy]# cat haproxy.cfg
global  #全局设置
   daemon  #以后台进程运行
   maxconn 256  #每个进程的最大连接数
   nbproc 1  #进程数,该值可以设置小于或等于cpu核心数

  balance roundrobin #默认的负载均衡的方式,轮询方式 
  #balance source #默认的负载均衡的方式,类似nginx的ip_hash 
  #balance leastconn #默认的负载均衡的方式,最小连接 

defaults  #默认设置
  mode http  #设置http(七层模式),也可设置为tcp(四层模式),另外还有一个Health健康监测模式。对mysql进行负载均衡的话,这里记得修改为tcp
  timeout connect 5000ms
  timeout client 50000ms
  timeout server 50000ms
  

listen admin_stats #配置haproxy管理页面
  bind *:9999  #访问端口为9999
  mode http
  option httplog
  stats refresh 30s  #自动刷新时间
  stats uri /stats  #项目名为status,ip+端口+项目名即可访问
  stats auth admin:admin  #配置管理用户账号密码
  stats admin if TRUE
  stats hide-version

frontend http-in  #配置前端访问端口
  bind *:1080  #通过该端口进行负载均衡
  default_backend servers  #指定后端服务器

backend servers
  server server1 172.16.1.230:80 check inter 2000 rise 3 fall 3 weight 1 maxconn 32  

  #建议加上check,否则后台服务器A宕机了,负载均衡还会把请求发送到该宕机服务器上,inter 2000指check检测时间为2000毫秒,rise 3检测3次均正常则表示后天服务器正常,fall 3检测3次失败,则会把该后天服务器标志宕机,不再玩该后台服务器发送请求,weight 1指权重,取消weight改为backup,则是所有后台服务器宕机后才会启用该backup后台服务器
  server server2 172.16.1.227:80 check inter 2000 rise 3 fall 3 weight 1 maxconn 32

1.5使用指定配置文件运行haproxy。建议都haproxy和hadproxy.cfg都使用绝对路径

/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg

1.6测试效果

其中228的80端口上我启用了httpd,页面内容为this is 228.另外一台230上的80端口也是httpd,页面为默认内容。使用谷歌浏览器访问172.16.1.227,每次刷新的内容都和上一次不一样

原文地址:https://www.cnblogs.com/biaopei/p/11321947.html