haproxy 加keepalived 实现后端应用73端口负载均衡高可用的配置
时间: 2023-11-27 20:52:56 浏览: 47
首先,需要安装和配置 HAProxy 和 Keepalived:
1. 安装 HAProxy 和 Keepalived
在 Ubuntu 系统上,可以使用以下命令来安装:
```
sudo apt-get update
sudo apt-get install haproxy keepalived
```
2. 配置 HAProxy
编辑 `/etc/haproxy/haproxy.cfg` 文件,添加如下内容:
```
frontend www
bind *:80
mode http
default_backend servers
backend servers
balance roundrobin
mode http
server backend1 192.168.1.1:73 check
server backend2 192.168.1.2:73 check
```
这里配置了一个名为 `www` 的前端,绑定在 80 端口,并将请求转发到名为 `servers` 的后端。后端使用 roundrobin 算法进行负载均衡,并且配置了两个服务器,分别是 `192.168.1.1` 和 `192.168.1.2`,监听端口为 73。
3. 配置 Keepalived
编辑 `/etc/keepalived/keepalived.conf` 文件,添加如下内容:
```
vrrp_script chk_haproxy {
script "killall -0 haproxy"
interval 2
weight 2
}
vrrp_instance VI_1 {
interface eth0
state MASTER
virtual_router_id 51
priority 101
virtual_ipaddress {
192.168.1.100/24
}
track_script {
chk_haproxy
}
}
```
这里配置了一个名为 `VI_1` 的 Keepalived 实例,使用 `eth0` 网卡作为虚拟 IP 的网络接口,虚拟路由 ID 为 51。主服务器的 `priority` 要比备份服务器的低,这里设置为 101。
还配置了一个名为 `chk_haproxy` 的脚本,用于检测 HAProxy 进程是否存在。
4. 启动 HAProxy 和 Keepalived
依次启动 HAProxy 和 Keepalived:
```
sudo service haproxy start
sudo service keepalived start
```
现在,应该可以通过访问虚拟 IP `192.168.1.100:80` 来访问后端服务器了。如果主服务器宕机,备份服务器会自动接管虚拟 IP,确保服务的高可用性。