源码编译安装haproxy 2.x并配置haproxy实现web服务器负载均衡

一、第一台linux虚拟机(IP:192.168.157.10)

1、网络源下载haproxy压缩包

 

wget -c https://repo.huaweicloud.com/haproxy/2.4/src/haproxy-2.4.8.tar.gz

2、 网络源下载lua

curl -R -O https://www.lua.org/ftp/lua-5.4.3.tar.gz

3、 安装gcc gcc-c++ make

yum install gcc gcc-c++ make -y

 4、解压lua

tar xf lua-5.4.3.tar.gz -C /usr/local/src/
cd /usr/local/src/lua-5.4.3/

 5、make all test并将 lua 复制到/usr/bin/lua

[root@localhost lua-5.4.3]# make all test

[root@localhost lua-5.4.3]# cp src/lua /usr/bin/lua

#查看lua版本

[root@localhost lua-5.4.3]# src/lua -v

 6、解压haproxy

tar xf haproxy-2.4.8.tar.gz -C /usr/local/src/

7、编译安装

yum -y install gcc openssl-devel pcre-devel systemd-devel
cd  /usr/local/src/haproxy-2.4.8
[root@localhost haproxy-2.4.8]# make ARCH=x86_64 TARGET=linux-glibc USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1 USE_LUA=1 LUA_INC=/usr/local/src/lua-5.4.3/src/ LUA_LIB=/usr/local/src/lua-5.4.3/src/
[root@localhost haproxy-2.4.8]# make install PREFIX=/usr/local/haproxy
tree /usr/local/haproxy/

8、 软链接

[root@localhost sbin]# ln -sv /usr/local/haproxy/sbin/haproxy /usr/sbin/haproxy

 #查看haproxy版本

[root@localhost sbin]# haproxy -v

 9、编写脚本

vim /usr/lib/systemd/system/haproxy.service
[Unit]
Description=HAProxy Load Balancer
After=syslog.target network.target

[Service]
ExecStartPre=/usr/sbin/haproxy -f /etc/haproxy/haproxy.cfg -c -q
ExecStart=/usr/sbin/haproxy -Ws -f /etc/haproxy/haproxy.cfg -p /usr/local/haproxy/haproxy.pid
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

#如果修改了脚本需要  systemctl daemon-reload

 10、创建目录,编写配置文件。

[root@localhost ~]# mkdir /etc/haproxy
[root@localhost ~]# cd /etc/haproxy
vim haproxy.cfg
global
        maxconn         10000
        stats socket    /var/run/haproxy.stat mode 600 level admin
        log             127.0.0.1 local0
       # uid             200
       # gid             200
        user             haproxy
        group           haproxy
        chroot          /usr/local/haproxy
        daemon

defaults
        mode http
        option httplog
        log global
        timeout client 1m
        timeout server 1m
        timeout connect 10s
        timeout http-keep-alive 2m
        timeout queue 15s
        timeout tunnel 4h  # for websocket

listen app1
   # this is the address and port we'll listen to, the ones to aim the
   # load generators at
   bind :80

   # create a certificate and uncomment this for SSL
   # bind :8443 ssl crt my-cert.pem alpn h2,http/1.1

   # Put the server's IP address and port below
   server web1 192.168.157.200:80
   server web2 192.168.157.201:80

 11、创建用户haproxy设置为nologin

useradd -r -s /sbin/nologin -d /usr/local/haproxy/ haproxy

12、启动haproxy

systemctl start haproxy

 二、第二台和第三台linux虚拟机配置

 1、安装httpd

yum install httpd -y
第二台

echo "web1:192.168.157.200" > /var/www/html/index.html

第三台

echo "web2:192.168.157.201" > /var/www/html/index.html

  2、开启httpd、关掉防火墙、禁用selinux

systemctl start httpd
systemctl stop firewalld
setenforce 0

三、第四台linux虚拟机curl第一台

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值