首页 > 其他分享 >极简版 haproxy的搭建步骤

极简版 haproxy的搭建步骤

时间:2023-08-12 09:02:52浏览次数:30  
标签:haproxy make usr install 简版 搭建

背景

发现四层nginx的代理报错.
然后想着换用一下haproxy的配置.
早些时候 看过tidb的一些最佳时间, 这里简单整理一下.

下载

https://src.fedoraproject.org/repo/pkgs/haproxy/haproxy-2.8.0.tar.gz

这里下载使用了一个比较新的版本, 可以根据情况自行进行处理. 

安装

yum -y install epel-release gcc systemd-devel
# 国产系统不太需要这些内容
执行编译:
make clean
make -j 8 TARGET=linux-glibc USE_THREAD=1

make PREFIX=/usr/haproxy SBINDIR=/usr/haproxy/bin install
# 路径设置为 /usr/haproxy

cat >/etc/profile.d/haproxy.sh <<EOF
export PATH=/usr/haproxy/bin:$PATH
EOF
# 需要增加用户. 
useradd haproxy
# 添加一个 路径,便于使用.
mkdir -p /var/lib/haproxy 
chown haproxy:haproxy  /var/lib/haproxy -R 
配置文件
可以创建为 /usr/haproxy/haproxy.conf


global                                     # 全局配置。
   log         127.0.0.1 local2            # 定义全局的 syslog 服务器,最多可以定义两个。
   chroot      /var/lib/haproxy            # 更改当前目录并为启动进程设置超级用户权限,从而提高安全性。
   pidfile     /var/run/haproxy.pid        # 将 HAProxy 进程的 PID 写入 pidfile。
   maxconn     4096                        # 单个 HAProxy 进程可接受的最大并发连接数,等价于命令行参数 "-n"。
   nbthread    48                          # 最大线程数。线程数的上限与 CPU 数量相同。
   user        haproxy                     # 同 UID 参数。
   group       haproxy                     # 同 GID 参数,建议使用专用用户组。
   daemon                                  # 让 HAProxy 以守护进程的方式工作于后台,等同于命令行参数“-D”的功能。当然,也可以在命令行中用“-db”参数将其禁用。
   stats socket /usr/haproxy/stats     # 统计信息保存位置。

defaults                                   # 默认配置。
   log global                              # 日志继承全局配置段的设置。
   retries 2                               # 向上游服务器尝试连接的最大次数,超过此值便认为后端服务器不可用。
   timeout connect  2s                     # HAProxy 与后端服务器连接超时时间。如果在同一个局域网内,可设置成较短的时间。
   timeout client 30000s                   # 客户端与 HAProxy 连接后,数据传输完毕,即非活动连接的超时时间。
   timeout server 30000s                   # 服务器端非活动连接的超时时间。

listen admin_stats                         # frontend 和 backend 的组合体,此监控组的名称可按需进行自定义。
   bind 0.0.0.0:8080                       # 监听端口。
   mode http                               # 监控运行的模式,此处为 `http` 模式。
   option httplog                          # 开始启用记录 HTTP 请求的日志功能。
   maxconn 10                              # 最大并发连接数。
   stats refresh 30s                       # 每隔 30 秒自动刷新监控页面。
   stats uri /haproxy                      # 监控页面的 URL。
   stats realm HAProxy                     # 监控页面的提示信息。
   stats auth admin:pingcap123             # 监控页面的用户和密码,可设置多个用户名。
   stats hide-version                      # 隐藏监控页面上的 HAProxy 版本信息。
   stats  admin if TRUE                    # 手工启用或禁用后端服务器(HAProxy 1.4.9 及之后版本开始支持)。

listen tidb-cluster                        # 配置 database 负载均衡。
   bind 0.0.0.0:3390                       # 浮动 IP 和 监听端口。
   mode tcp                                # HAProxy 要使用第 4 层的传输层。
   balance leastconn                       # 连接数最少的服务器优先接收连接。`leastconn` 建议用于长会话服务,例如 LDAP、SQL、TSE 等,而不是短会话协议,如 HTTP。该算法是动态的,对于启动慢的服务器,服务器权重会在运行中作调整。
   server tidb-1 192.168.255.xxx:4000 check inter 2000 rise 2 fall 3       # 检测 4000 端口,检测频率为每 2000 毫秒一次。如果 2 次检测为成功,则认为服务器可用;如果 3 次检测为失败,则认为服务器不可用。
   server tidb-2 192.168.255.xxx:4000 check inter 2000 rise 2 fall 3
   server tidb-3 192.168.255.xxx:4000 check inter 2000 rise 2 fall 3

启动脚本为: 
/usr/haproxy/bin/haproxy -f /usr/haproxy/haproxy.conf 

监控

使用 http://ip:8080/haproxy 
用户密码为: 
stats auth admin:pingcap123 

可以进行简单的测试验证. 

监控界面

image

标签:haproxy,make,usr,install,简版,搭建
From: https://www.cnblogs.com/jinanxiaolaohu/p/17624310.html

相关文章

  • 搭建B端产品帮助中心这两点很重要,从客户“帮助中心”出发思考!
    一款优质的产品若想要用户体验良好,除了需要客服解答外,一个全面完善的产品帮助中心也是必不可少的,尤其是对于B端产品来说,其重要性自然不言而喻。 产品帮助中心因为帮助中心是一个产品的重要用户自助服务模块,包括各类产品相关信息,用以帮助用户快速理解和使用产品功能,当我们产品开发......
  • Http 文件服务器搭建 —— 作为 Unity Addressable 远程服务器使用
    方式一通过HFS:HFS-超好用的本地文件分享利器,快速从电脑传文件到手机等设备 方式二通过IIS:WindowIIS搭建Http文件服务器    ......
  • Linux文件服务器搭建与使用实例
    1.1 NFS是什么?NFS 是网络文件系统 Network FileSystem 的 简称 ,最早是由 Sun 公司 开发 出来 的,目的是想 让 不同的 机器、不同的 操作 系統可以 共享文件。 在 Unix/Linux类的 操作系统 中 可以 用 NFS 来搭建文件服务器。 对于一个真实的运行环境而言......
  • odoo10(13)saas平台搭建
    下载地址:https://github.com/it-projects-llc/odoo-saas-tools首先配置文件不使用dbfilter=^%h$来创建平台和服务器两个数据库1、平台安装saas_portal2、服务器安装saas_server,修改auth.oauth.provider中saas的auth_endpoint和validation_endpoint,最终在平台中找到服务器点击打......
  • Jenkins +nginx 搭建前端构建环境
    欢迎访问幸福拾荒者,一个前端知识总结分享平台,与大家一起共同成长共同进步!......
  • Sinopia 搭建npm 私有仓库
    sinopia是一个零配置的私有的带缓存功能的npm包管理工具,使用sinopia,你不用安装CouchDB或MYSQL之类的数据库,Sinopia有自己的迷你数据库,如果要下载的包不存在,它将自动去你配置的npm地址上去下载,而且硬盘中只缓存你现在过的包,以节省空间。优点不同步拉取npm库,占据大量硬盘,没有硬盘被撑......
  • 探索未知,即刻搭建AI原生应用!WAVE SUMMIT Workshop等你来参加
    你是否希望掌握大模型开发的秘诀?你是否渴望得到实践操作的机会?如果你的心中充满热情和期待,那么,WAVESUMMIT2023特别设置的Workshop将会是你的知识启航站!本次Workshop专注于AI开发与大模型应用,邀请一线优秀的AI软件工程师和产品专家,分享他们的技术心得,带领每一位参与者深入了解AI的......
  • Selenium Web 自动化 - Selenium(Java)环境搭建 (new)
    SeleniumWeb自动化-Selenium(Java)环境搭建(new)2023-08-110背景开发工具idea代码管理mavenjdk1.8webdriverchrome1chromedriver&chromechromedriver和chrome要对应上:chomedriver下载地址:淘宝镜像 这里用的是 chromedriver88-0-4324-96.zipchrome下载地址:......
  • chatGPT3.5搭建git
    https://github.com/Chanzhaoyu/chatgpt-webdocker-compose.yamlversion:'3'services:app:image:chenzhaoyu94/chatgpt-web#总是使用latest,更新时重新pull该tag镜像即可ports:-10.0.0.250:3232:3002environment:#二选一......
  • MySQL MGR 搭建过程常见问题
    故障1[ERROR]Plugingroup_replicationreported:'Thismemberhasmoreexecutedtransactionsthanthosepresentinthegroup.Localtransactions:bb874065-c485-11e8-8b52-000c2934472e:1>Grouptransactions:3db33b36-0e51-409f-a61d-c99756e90155:1-11&......