keepalived+nginx的负载均衡搭建方法
时间: 2023-12-09 15:02:56 浏览: 90
keeplive+nginx负载均衡解决方案
Sure, 我可以为您提供 keepalived 和 nginx 的负载均衡搭建方法,以下是步骤:
1. 安装 Nginx
```
sudo apt-get update
sudo apt-get install nginx
```
2. 配置 Nginx
使用 root 用户编辑 /etc/nginx/nginx.conf 文件,加入以下内容:
```
http {
upstream app_servers {
server 192.168.1.1:8000 weight=1;
server 192.168.1.2:8000 weight=2;
}
server {
listen 80;
location / {
proxy_pass http://app_servers;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
```
其中,app_servers 为后端服务器地址和端口,weight=1 和 weight=2 为权重,可以根据需要调整。
3. 安装 keepalived
```
sudo apt-get install keepalived
```
4. 配置 keepalived
使用 root 用户编辑 /etc/keepalived/keepalived.conf 文件,加入以下内容:
```
vrrp_script chk_nginx {
script "/etc/keepalived/check_nginx.sh"
interval 2
}
vrrp_instance VI_1 {
interface eth0
state MASTER
virtual_router_id 51
priority 101
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.100/24
}
track_script {
chk_nginx
}
}
```
其中,eth0 是 virtual_ipaddress 所在的网卡,virtual_router_id 为相同的值,priority 根据实际情况设置,authentication 中的 auth_pass 可以修改。
5. 编辑 keepalived 健康检查脚本
使用 root 用户创建 /etc/keepalived/check_nginx.sh 文件,加入以下内容:
```
#!/bin/sh
NGINX_STATUS=`curl -s -I -m 10 -o /dev/null -w '%{http_code}' http://127.0.0.1`
if [ "${NGINX_STATUS}" = "200" ]; then
exit 0
else
exit 1
fi
```
其中,127.0.0.1 是本机 IP,根据实际情况修改。
6. 启动 keepalived
```
sudo service keepalived start
```
这样就完成了 keepalived 和 nginx 的负载均衡搭建。请注意,以上步骤仅供参考,具体情况还需根据实际情况进行调整。
阅读全文