# 更新软件包索引
sudo apt update
# 安装Nginx
sudo apt install nginx
# 启动Nginx并设置开机自启
sudo systemctl start nginx
sudo systemctl enable nginx
编辑 Nginx 主配置文件:
sudo nano /etc/nginx/nginx.conf
在http
块内添加负载均衡配置(示例配置如下):
http {
# 负载均衡策略配置
upstream backend_servers {
# 轮询策略(默认)
server 192.168.1.101:80 weight=1 max_fails=3 fail_timeout=30s; # 后端服务器1
server 192.168.1.102:80 weight=1 max_fails=3 fail_timeout=30s; # 后端服务器2
server 192.168.1.103:80 weight=1 max_fails=3 fail_timeout=30s backup; # 备用服务器3,当1、2访问不了启用
}
# 虚拟主机配置
server {
listen 80;
server_name 192.168.1.100; # 替换为你的域名或IP(负载均衡器)
location / {
proxy_pass http://backend_servers; # 指向负载均衡组
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;
}
}
}
轮询(默认):按顺序循环分发请求。
权重(weight)
:根据服务器性能分配权重,如:
nginx
server 192.168.1.101:80 weight=3; # 处理3倍请求
server 192.168.1.102:80 weight=1;
IP 哈希(ip_hash)
:相同 IP 的请求始终转发到同一服务器:
nginx
upstream backend_servers {
ip_hash;
server 192.168.1.101:80;
server 192.168.1.102:80;
}
最少连接(least_conn)
:转发到当前连接数最少的服务器:
nginx
upstream backend_servers {
least_conn;
server 192.168.1.101:80;
server 192.168.1.102:80;
}
添加健康检查,自动剔除故障服务器:
nginx
upstream backend_servers {
server 192.168.1.101:80 max_fails=3 fail_timeout=30s;
server 192.168.1.102:80 max_fails=3 fail_timeout=30s;
server 192.168.1.103:80 backup; # 备份服务器,仅当其他服务器都不可用时启用
}
# 验证配置文件语法
sudo nginx -t
# 重启Nginx使配置生效
sudo systemctl restart nginx
# 查看Nginx状态
sudo systemctl status nginx
# 查看Nginx访问日志
sudo tail -f /var/log/nginx/access.log
# 查看Nginx错误日志
sudo tail -f /var/log/nginx/error.log
配置完成后,所有发往 Nginx 服务器的请求都会被均衡分发到后端服务器组。根据实际需求,你可以调整负载均衡策略、添加更多后端服务器或配置 HTTPS。