#更新包列表
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