HAProxy 学习

HAProxy 学习

1. 下载 HAProxy

下载地址:https://src.fedoraproject.org/repo/pkgs/haproxy/

本次使用的是 2.4.17 版本

2. 解压安装

2.1 解压文件

tar zxvf haproxy-2.4.17.tar.gz

在这里插入图片描述

2.2 编译安装

HAProxy 是由 C 语言开发的,所以这里要安装 gcc gcc-c++

yum install gcc gcc-c++ -y

在这里插入图片描述

# 查看系统内核版本
[root@mysql01 haproxy-2.4.17]# uname -r
3.10.0-1160.el7.x86_64

# 在 haproxy 解压目录下执行 make 命令
[root@mysql01 haproxy-2.4.17]# make TARGET=linux310 ARCH=x86_64

参数解析:
TARGET=linux310  内核版本   例子内核为 kernel 大于2.6.28的可以用:TARGET=linux2628
ARCH=x86_64   系统位

# 编译安装,指定文件目录,没有会自动创建
[root@mysql01 haproxy-2.4.17]# make install PREFIX=/usr/local/haproxy

3. 创建配置文件

1️⃣ 自己创建配置文件

1.79及以后的版本解压后文件内就没有haproxy.cfg文件,需要自行添加,添加到安装目录下

[root@mysql01 haproxy-2.4.17]# cd /usr/local/haproxy/
[root@mysql01 haproxy]# ll
总用量 0
drwxr-xr-x 3 root root 21 76 23:30 doc
drwxr-xr-x 2 root root 21 76 23:30 sbin
drwxr-xr-x 3 root root 17 76 23:30 share


# 创建配置文件
[root@mysql01 haproxy]# vim haproxy.cfg
global
  # 日志
  log 127.0.0.1 local0 info
  # 最大连接数
  maxconn 10240
  daemon
 
defaults
  # 应用全局的日志配置
  log global
  mode http
  # 超时配置
  timeout connect 5000
  timeout client 5000
  timeout server 5000
  timeout check 2000
 
listen http_front 							# haproxy的客户页面
  bind 192.168.169.101:8888         # HAProxy自己的IP地址
  mode http
  option httplog
  stats uri /haproxy					# 自定义页面的 url(即访问时地址为:192.168.169.101:8888/haproxy)
  stats auth admin:123456          # 控制面板账号密码 账号:admin 
  stats refresh 5s
  stats enable
 
2️⃣ 或者在解压目录下拷贝文件
cp /opt/soft/haproxy/examples/option-http_proxy.cfg /usr/local/haproxy/conf/haproxy.cfg

/opt/soft/haproxy/examples/option-http_proxy.cfg			文件解压目录
/usr/local/haproxy/conf/haproxy.cfg					文件安装目录

4. 编写日志输出文件

[root@mysql02 ~]#  cat /etc/rsyslog.conf | grep -i include
# Include all config files in /etc/rsyslog.d/
$IncludeConfig /etc/rsyslog.d/*.conf

[root@mysql02 ~]# vim /etc/rsyslog.d/haproxy.conf
$ModLoad imudp 
$UDPServerRun 514 
local0.* /usr/local/haproxy/logs/haproxy.log 
&~


#开启远程日志
[root@mysql02 ~]# vim /etc/sysconfig/rsyslog
SYSLOGD_OPTIONS="-c 2 -r -m 0" 

参数解析:
-c 2 使用兼容模式,默认是 -c 5
-r 开启远程日志。
-m 0 标记时间戳。单位是分钟,为0时,表示禁用该功能。


# 使修改生效
systemctl restart rsyslog

5. 启动 HAProxy

用安装包解压后目录里面的haproxy 启动安装目录的haproxy.cfg

[root@mysql01 ~]# cd /opt/soft/haproxy/
[root@mysql01 haproxy-2.4.17]# pwd
/opt/soft/haproxy/

# 使用文件进行启动
[root@mysql01 haproxy-2.4.17]#  /opt/soft/haproxy/haproxy  -f /usr/local/haproxy/haproxy.cfg

👉 验证是否启动成功

[root@mysql01 haproxy-2.4.17]# netstat -lnatp | grep -i haproxy
tcp        0      0 192.168.169.101:8888    0.0.0.0:*               LISTEN      3334/./haproxy      
tcp        0      0 192.168.169.101:8888    192.168.169.1:14636     ESTABLISHED 3334/./haproxy

6. 配置 systemctl 管理

vim /usr/lib/systemd/system/haproxy.service

[Unit] 
Description=HAProxy 
After=network.target 

[Service] 
PIDFile=/usr/local/haproxy/logs/haproxy.pid 
Type=forking 
ExecStart=/opt/soft/haproxy/haproxy -f /usr/local/haproxy/haproxy.cfg 
ExecStop=/usr/bin/kill `/usr/bin/cat /usr/local/haproxy/logs/haproxy.pid` 
ExecReload=/opt/soft/haproxy/haproxy -f /usr/local/haproxy/haproxy.cfg -st `/usr/bin/cat /usr/local/haproxy/logs/haproxy.pid` 
PrivateTmp=true 

[Install] 
WantedBy=multi-user.target

7. 访问控制面板

浏览器访问:192.168.169.101:8888/haproxy

用户名、密码在配置文件中都有配置

在这里插入图片描述

 
 
 
 
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值