树莓派安装 HAProxy 实现高可用高负载SS服务器线路负载均衡
2023-02-18 16:44:23 时间
服务商会有好几条线路提供,有时候某条线路会不稳定,需要手动切换线路。利用 HAProxy 可实现主备线路切换,并且可设置均衡负载让速度爆炸(需要服务商支持同时登陆)
准备工作
- 树莓派或香橙派类开发板
- 服务商线路若干条
- 需要一定的linux基础
安装 HAProxy
sudo sudo apt-get update
sudo apt-get install -y haproxy
配置 HAProxy
详细配置说明可参考网络文章 HAProxy 用法详解 http://www.ttlsa.com/linux/haproxy-study-tutorial/ HAProxy 配置示例 http://xstarcd.github.io/wiki/sysadmin/haproxy_confs.html 这里贴出我的配置文件,自行修改后写入 haproxy.cfg
## 程序参数
global
pidfile /var/run/haproxy.pid #PID文件,做进程守护使用
user root #运行程序的用户
group root #运行程序的用户组
daemon #后台运行
## 服务器默认参数
defaults
mode tcp #默认的模式mode { tcp|http|health },tcp是4层,http是7层
balance roundrobin #服务器均衡模式
retries 2 #两次连接失败就认为是服务器不可用
option redispatch #当serverId对应的服务器挂掉后,强制定向到其他健康的服务器
option abortonclose #当服务器负载很高的时候,自动结束掉当前队列处理比较久的链接
#option dontlognull #不记录健康检查日志信息
maxconn 3200 #最大连接数
timeout connect 500ms #连接超时
timeout client 3000ms #客户端超时
timeout server 3000ms #服务器超时
## FREE_日本服务器_三线不计量均衡线路双线计量备用线路
# inter 1000 = 隔1000毫秒检测一次服务器是否正常
listen FREE_SS_Japan
bind 0.0.0.0:8001 # 服务端口
server fss-jp1 hscbook.com:18750 check inter 1000 rise 2 fall 3 #服务器地址与端口
server fss-jp2 hscbook.com:18750 check inter 1000 rise 2 fall 3 #服务器地址与端口
server fss-jp3 hscbook.com:18750 check inter 1000 rise 2 fall 3 #服务器地址与端口
server fjp-bck hscbook.com:18750 check backup inter 5000 rise 2 fall 3 #备用线路
server fjp-bck hscbook.com:18750 check backup inter 5000 rise 2 fall 3 #备用线路
## FREE_美国服务器_四线不计量均衡线路双线计量备用线路
listen FREE_SS_U.S.A
bind 0.0.0.0:8002
server fss-usa hscbook.com:18750 check inter 1000 rise 2 fall 3
server fss-us-dls hscbook.com.shidd.net:18750 check inter 1000 rise 2 fall 3
server fss-us-atl hscbook.com.shidd.net:18750 check inter 1000 rise 2 fall 3
server fss-us-nwk hscbook.com:18750 check inter 1000 rise 2 fall 3
server fus-bck hscbook.com:18750 check backup inter 5000 rise 2 fall 3 #备用线路
server fus-bck hscbook.com:18750 check backup inter 5000 rise 2 fall 3 #备用线路
## Metering_视频服务器_单线线不计量线路单线计量备用线路
listen Metering_SS_Video
bind 0.0.0.0:8003
server mss-video hscbook.com:18750 check inter 1000 rise 2 fall 3
server mmv-bck hscbook.com:18750 check backup inter 5000 rise 2 fall 3 #备用线路
## Latency_低延迟服务器_单线线不计量线路双线不计量备用线路
listen Low_latency
bind 0.0.0.0:8004
server hk-http hscbook.com:25479 check inter 1000 rise 2 fall 3
server jp-bck hscbook.com:25479 check backup inter 5000 rise 2 fall 3 #备用线路
server jp-bck hscbook.com:25479 check backup inter 5000 rise 2 fall 3 #备用线路
## 网页服务端
listen Web_Service
bind 0.0.0.0:82 #网页服务端口
mode http #接口协议
stats refresh 5s #自动刷新时间
stats uri / #管理地址
stats auth hscbook:hscpro #账号密码
stats hide-version #隐藏版本
stats admin if TRUE #验证通过则赋予管理权
先备份配置并写入
sudo mv /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak
sudo nano /etc/haproxy/haproxy.cfg
重启 HAProxy
sudo service haproxy stop
sudo service haproxy start
使用问题与技巧
- 账号密码和加密方式? 在客户端处填就可以了,就是把原来的地址和端口换成 bind 处的地址端口。
- 启动 HAPproxy 报错? 多启动几次试试看,不行就请检查配置文件
相关文章
- Vue响应式依赖收集原理分析
- Webpack高级配置实战
- Webpack构建速度优化指南
- Webpack最佳实践指南
- FLStudio2023最新中文版水果编曲软件V21
- Flutter混编工程之打通纹理之路
- 说回 TheRouter
- TheRouter 的跨模块依赖注入实现原理
- 什么是相位噪声:相位抖动
- adobe全家桶2023下载正式版全系列
- 忙里偷闲IdleHandler
- kotlin修炼指南8—集合中的高阶函数
- kotlin修炼指南9-Sequence的秘密
- JetBrains 远程开发的使用和心得
- APP动态路由的设计与实践
- 微软发布“Raspberry Robin”恶意软件警告
- 警告:新的攻击活动利用了 MICROSOFT EXCHANGE SERVER 上的一个新的 0-DAY RCE 漏洞
- PLC 中的本地代码执行:使用 RCE 发现 Siemens SIMATIC S7-1200/1500 硬编码加密密钥
- 工业互联网一体化便携式演示实验平台
- 某组态软件工程文件加密机制探究