服务器负载均衡

1. 安装 EPEL 仓库

EPEL(Extra Packages for Enterprise Linux)仓库提供了额外的软件包,安装 HAProxy 前需要先启用 EPEL 仓库。

bash 复制代码
sudo yum install epel-release -y

2. 安装 HAProxy

通过 EPEL 仓库安装 HAProxy。

bash 复制代码
sudo yum install haproxy -y

注意:如果服务器上已安装 Docker,可能会干扰 HAProxy 的安装。建议先关闭或卸载 Docker。


3. 验证 HAProxy 安装

安装完成后,验证 HAProxy 版本以确保安装成功。

bash 复制代码
haproxy -v

4. 下载 HAProxy 最新版本(可选)

如果需要安装最新版本的 HAProxy,可以从官网下载源代码并编译安装。

bash 复制代码
wget http://www.haproxy.org/download/2.5/src/haproxy-2.5.0.tar.gz

5. 安装 Node.js

Node.js 是运行 JavaScript 应用程序的环境,以下是安装步骤。

5.1 下载 Node.js

下载指定版本的 Node.js 二进制包。

bash 复制代码
wget https://nodejs.org/dist/v16.14.2/node-v16.14.2-linux-x64.tar.xz

5.2 解压并设置环境变量

将下载的包解压,并将其路径添加到环境变量中。

bash 复制代码
tar -xvf node-v16.14.2-linux-x64.tar.xz
export PATH=$PATH:/root/node-v16.14.2-linux-x64/bin

5.3 重新加载环境变量

确保环境变量生效。

bash 复制代码
source ~/.bashrc   # 如果使用 .bashrc
# 或者
source ~/.bash_profile   # 如果使用 .bash_profile

5.4 验证 Node.js 安装

检查 Node.js 是否安装成功。

bash 复制代码
node -v

6. 配置 HAProxy

HAProxy 的配置文件位于 /etc/haproxy/haproxy.cfg,以下是配置示例。

6.1 编辑配置文件

使用文本编辑器打开配置文件。

bash 复制代码
sudo vi /etc/haproxy/haproxy.cfg

6.2 配置文件内容

bash 复制代码
global
    log /dev/log    local0
    log /dev/log    local1 notice
    chroot /var/lib/haproxy
    stats socket /run/haproxy/admin.sock mode 660 level admin
    stats timeout 30s
    user haproxy
    group haproxy
    daemon

defaults
    log     global
    mode    http
    option  httplog
    option  dontlognull
    timeout connect 5000
    timeout client  50000
    timeout server  50000

frontend http_front
    bind *:80
    default_backend nodes_backend

backend nodes_backend
    balance roundrobin
    server node1 xxx.xxx.xxx.xxx:3000 check
    server node2 yyy.yyy.yyy.yyy:3000 check

7. 配置解释

7.1 globaldefaults 部分

  • global:定义全局参数,如日志路径、用户权限等。
  • defaults:定义默认选项,如日志格式、超时时间等。

7.2 frontend http_front 部分

  • *bind :80:监听 80 端口,接收 HTTP 请求。
  • default_backend nodes_backend :将请求转发到后端服务器组 nodes_backend

7.3 backend nodes_backend 部分

  • balance roundrobin:使用轮询算法分发请求。
  • server node1 xxx.xxx.xxx.xxx:3000 check :定义后端服务器 node1,IP 地址为 xxx.xxx.xxx.xxx,端口为 3000,并启用健康检查。
  • server node2 yyy.yyy.yyy.yyy:3000 check :定义后端服务器 node2,IP 地址为 yyy.yyy.yyy.yyy,端口为 3000,并启用健康检查。

8. 总结

通过以上步骤,您可以成功安装并配置 HAProxy 和 Node.js。HAProxy 作为负载均衡器,可以将流量分发到多个后端服务器,而 Node.js 则为应用程序提供了运行环境。确保配置文件中的 IP 地址和端口与实际环境一致,并根据需要调整参数。

相关推荐
christine-rr8 小时前
linux常用命令(4)——压缩命令
linux·服务器·redis
三坛海会大神5559 小时前
LVS与Keepalived详解(二)LVS负载均衡实现实操
linux·负载均衡·lvs
東雪蓮☆9 小时前
深入理解 LVS-DR 模式与 Keepalived 高可用集群
linux·运维·服务器·lvs
qq_264220899 小时前
LVS负载均衡群集和LVS+Keepalived群集
运维·负载均衡·lvs
乌萨奇也要立志学C++9 小时前
【Linux】进程概念(二):进程查看与 fork 初探
linux·运维·服务器
雨落Liy9 小时前
Nginx 从入门到进阶:反向代理、负载均衡与高性能实战指南
运维·nginx·负载均衡
Yyyy48210 小时前
Nginx负载均衡集群实验步骤
运维·nginx·负载均衡
绿箭柠檬茶10 小时前
Ubuntu 服务器配置转发网络访问
服务器·网络·ubuntu
獭.獭.11 小时前
Linux -- 信号【上】
linux·运维·服务器
路由侠内网穿透12 小时前
本地部署 GPS 跟踪系统 Traccar 并实现外部访问
运维·服务器·网络·windows·tcp/ip