HAProxy,全称是 High Availability Proxy,是一款开源的负载均衡代理软件。它主要用于提高服务器应用的可用性和性能,可以在 TCP 和 HTTP 应用层上分配客户机请求到多个数据中心或服务器。由于其高可靠性、高性能、丰富的功能和简单的配置,HAProxy 广泛应用于提供高可用性、负载均衡和代理服务器方案。
以下是一些 HAProxy 的关键特性:
1. 负载均衡:
2. 高可用性:
3. TCP 和 HTTP 的应用层协议支持:
4. 安全性:
5. 性能优化:
6. 监控与统计:
由于这些特性,HAProxy 被广泛应用于数据中心,用于企业级的网站和服务,如 GitHub、Stack Overflow、Reddit 以及其他需要高可靠性和负载均衡的应用场景中。
以上是haproxy介绍,接下来我以debian11为例,安装haproxy以及一下一些优化好的配置分享给大家:
安装:
apt install haproxy -y
设置开机自启动:
systemctl enable haproxy
配置haproxy:
cd /etc/haproxymv haproxy.cfg haproxy.cfg.bakvim haproxy.cfg
然后输入下面的配置:wd保存:
global
ulimit-n 100000 # 设置操作系统限制,允许HAProxy打开更多的文件描述符
log /dev/log local0 # 设置日志记录到本地系统日志设施0
log /dev/log local1 notice # 设置日志记录级别到通知,仅限于本地系统日志设施1
chroot /var/lib/haproxy # 出于安全原因,锁定进程到指定的目录
pidfile /var/run/haproxy.pid # 指定进程ID文件路径
user haproxy # 指定运行用户为haproxy
group haproxy # 指定运行用户组为haproxy
daemon # 以守护进程方式运行HAProxy
maxconn 40000 # 设置每个进程的最大并发连接数
tune.bufsize 32768 # 增加每个会话的缓冲区大小,以适应大型请求和响应
tune.maxrewrite 1024 # 增加用于重写请求和响应的缓冲区大小
tune.rcvbuf.client 0 # 设置客户端接收缓冲区大小为系统默认
tune.rcvbuf.server 0 # 设置服务器接收缓冲区大小为系统默认
tune.sndbuf.client 0 # 设置客户端发送缓冲区大小为系统默认
tune.sndbuf.server 0 # 设置服务器发送缓冲区大小为系统默认
stats socket /var/lib/haproxy/stats level admin # 设置统计信息UNIX套接字路径,只有管理员才能访问defaults
log global # 使用全局配置的日志设置
mode tcp # 设置工作模式为TCP
option dontlognull # 不记录健康检查产生的空连接
timeout connect 3000 # 设置连接超时时间为3秒
timeout client 50000 # 设置客户端连接超时为50秒(根据实际流量调整)
timeout server 50000 # 设置服务器连接超时为50秒(根据实际流量调整)
maxconn 40000 # 设置每个进程允许的最大并发连接数
# 如果工作模式是HTTP,打开下面的配置
# option http-server-close # 开启HTTP连接关闭模式,以减少连接数和提升性能
# option forwardfor # 添加X-Forwarded-For头部,用于记录原始IP地址
# compression algo gzip # 启用GZIP压缩
# compression type text/html text/plain text/css application/javascript application/jsonlisten stats
bind :9000 # 监听端口,用于统计信息页面
mode http # 模式设置为HTTP,用于统计信息页面
stats enable # 启用统计报告页面
stats uri /status # 设置统计页面的访问URI
stats hide-version # 隐藏HAProxy版本信息以提高安全性
stats auth admin:admin # 设置访问统计页面的用户名和密码,应更换复杂密码frontend novel #前端
bind *:25565 tfo # 在所有网络接口的25565端口上监听,并启用TCP快速打开特性
default_backend novel # 指定默认的后端服务器组backend novel #后端
balance leastconn # 设置负载均衡算法为最少连接,帮助均匀分配连接
option tcp-check # 启用TCP级别的健康检查,帮助检测服务器是否在线
server n1 IP地址:端口 check maxconn 20480 # 指定后端服务器,并设置健康检查和最大并发连接数
最后检测配置是否有错误再重启haproxy:
haproxy -c -f /etc/haproxy #检测配置systemctl restart haproxy.service #重启haproxy
本文链接:https://blog.runxinyun.com/post/70.html 转载需授权!
版权声明
网站名称: 润信云资讯网
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!邮件:7104314@qq.com
网站部分内容来源于网络,版权争议与本站无关。请在下载后的24小时内从您的设备中彻底删除上述内容。
如无特别声明本文即为原创文章仅代表个人观点,版权归《润信云资讯网》所有,欢迎转载,转载请保留原文链接。
留言0