#更新包列表
sudo apt update
#升级所有已安装的包
sudo apt upgrade -y
#完成内核或关键系统组件的全面升级
sudo apt full-upgrade -y
#清理不再需要的包
sudo apt autoremove -y
#更新镜像源
sudo nano /etc/apt/sources.list
然后将内容替换为以下内容:
deb <http://mirrors.aliyun.com/ubuntu/> focal main restricted universe multiverse
deb <http://mirrors.aliyun.com/ubuntu/> focal-security main restricted universe multiverse
deb <http://mirrors.aliyun.com/ubuntu/> focal-updates main restricted universe multiverse
deb <http://mirrors.aliyun.com/ubuntu/> focal-backports main restricted universe multiverse
保存后,运行以下命令更新包列表:
sudo apt update
#停止HAProxy服务
sudo systemctl stop haproxy
#禁用HAProxy服务
sudo systemctl disable haproxy
#卸载HAProxy
sudo apt remove --purge haproxy
#删除残余文件
sudo rm -rf /etc/haproxy
sudo rm -rf /var/log/haproxy.log
#清理依赖
sudo apt autoremove
sudo apt autoclean
#更新包列表
sudo apt update
#安装HAProxy
sudo apt install haproxy
#启动并启用HAProxy
sudo systemctl start haproxy
#开机自动启动
sudo systemctl enable haproxy
#配置HAProxy
sudo nano /etc/haproxy/haproxy.cfg
----------------------------------
# 全局配置部分
global
# 日志配置
log /dev/log local0 # 使用 syslog 的 local0
log /dev/log local1 # 使用 syslog 的 local1
chroot /var/lib/haproxy
stats socket /run/haproxy/admin.sock mode 660 level admin # 修改为有效的 socket 配置
stats timeout 30s # 配置 stats 的超时时间
user haproxy
group haproxy
daemon # 后台运行
maxconn 5000
tune.ssl.default-dh-param 2048 # SSL优化参数
# 默认配置部分
defaults
mode tcp
log global # 使用全局日志设置
option tcplog # 启用TCP连接日志
timeout connect 5s # 连接超时时间
timeout client 50s # 客户端超时时间
timeout server 50s # 服务端超时时间
retries 3
maxconn 5000
balance roundrobin # 负载均衡策略
# 前端配置部分,监听12001端口
frontend tcp_frontend
bind *:12001 # 监听所有网络接口上的12001端口
default_backend bk_tcp # 将所有请求转发到后端
# 后端配置部分
backend bk_tcp
balance roundrobin # 负载均衡策略,轮询
option tcp-check # 启用TCP健康检查
server server1 12.tcp.cpolar.top:10880 check maxconn 2000 # 定义后端服务器,启用健康检查
----------------------------------
#验证配置文件
sudo haproxy -f /etc/haproxy/haproxy.cfg -c
#重启HAProxy服务
sudo systemctl restart haproxy
#测试端口转发是否成功
telnet 127.0.0.1 12001
#HAProxy不重启的情况下重载配置文件
sudo systemctl reload haproxy
#查看HAProxy服务状态
#sudo systemctl status haproxy
sudo systemctl is-active haproxy
#正常输出:
● haproxy.service - HAProxy Load Balancer
Loaded: loaded (/lib/systemd/system/haproxy.service; enabled; vendor preset: enabled)
Active: active (running) since ...
...
#检查HAProxy日志
sudo tail -f /var/log/haproxy.log
#检查HAProxy端口监听
sudo netstat -tuln | grep haproxy
#正常输出:
tcp 0 0 0.0.0.0:12001 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:12002 0.0.0.0:* LISTEN
#检查防火墙设置
sudo ufw allow 12001/tcp
#确保HAProxy正在监听端口
sudo netstat -tuln | grep 12001