zl程序教程

您现在的位置是:首页 >  Java

当前栏目

树莓派安装 HAProxy 实现高可用高负载SS服务器线路负载均衡

2023-02-18 16:44:23 时间

服务商会有好几条线路提供,有时候某条线路会不稳定,需要手动切换线路。利用 HAProxy 可实现主备线路切换,并且可设置均衡负载让速度爆炸(需要服务商支持同时登陆)

准备工作

  1. 树莓派或香橙派类开发板
  2. 服务商线路若干条
  3. 需要一定的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

使用问题与技巧

  1. 账号密码和加密方式? 在客户端处填就可以了,就是把原来的地址和端口换成 bind 处的地址端口。
  2. 启动 HAPproxy 报错? 多启动几次试试看,不行就请检查配置文件