在CentOS 7上构建LVS-DR(Direct Routing)群集和配置Nginx负载均衡的步骤如下:
1. 安装并配置LVS-DR群集:
- 在所有服务器上安装所需的软件包(ipvsadm、keepalived、iproute等):
sudo yum install ipvsadm keepalived iproute
- 配置Real Server服务器(目标服务器):
- 配置网络接口和IP地址。
- 禁用ARP(Address Resolution Protocol)响应:
sudo sysctl net.ipv4.conf.eth0.arp_ignore=1
sudo sysctl net.ipv4.conf.eth0.arp_announce=2
- 启用IP转发:
sudo sysctl net.ipv4.ip_forward=1
- 配置iptables规则,允许LVS流量通过:
sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
- 配置Director Server服务器(调度器):
- 配置网络接口和IP地址。
- 创建配置文件`/etc/keepalived/keepalived.conf`,并将以下内容添加到文件中(调整IP地址和虚拟IP地址):
vrrp_sync_group G1 {
group {
eth0
}
}
vrrp_instance VI_1 {
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type AH
auth_pass MySecretPassword
}
virtual_ipaddress {
10.0.0.100
}
}
- 启动和配置keepalived服务:
- 启动keepalived服务:
sudo systemctl start keepalived
- 配置keepalived服务在启动时自动启动:
sudo systemctl enable keepalived
2. 配置Nginx负载均衡:
- 在所有服务器上安装Nginx:
sudo yum install nginx
- 配置Nginx反向代理:
- 编辑Nginx配置文件`/etc/nginx/nginx.conf`,将其中的默认服务器块修改为以下内容(根据实际情况进行调整):
http {
# ...
upstream backend {
server 10.0.0.101:80;
server 10.0.0.102:80;
}
# ...
server {
listen 80;
server_name mywebsite.com;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
}
- 启动Nginx服务:
sudo systemctl start nginx
- 配置Nginx服务在启动时自动启动:
sudo systemctl enable nginx