1准备条件 服务器最少3台
修改配置文件:
cd /etc/nginx/conf.d/
1.添加一个配置文件
upstream a.com {
server 服务器IP:端口;
server 127.0.0.1:80;
server 127.0.0.1:8080;
}
2 配置虚拟主机
vim /etc/nginx/sites-available/default
server{
listen 80;
server_name a.com;
location / {
proxy_pass http://自己配置;
# 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
ln -s /etc/nginx/sites-available/{nidepaizhi} /etc/nginx/sites-enabled/
//检查配置文件是否有错
nginx -t
//重启服务器
nginx -s reload
3其他参数配置
扩展:
1.轮询(默认方式)
每个请求按时间顺序逐一分配到后端服务器,如果后端服务器down掉,能自动剔除
2 weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
upstream bakend {
server 服务器IP:端口 概率值;
server 127.0.0.1:80 weight=10;
}
3 down 表示单前的server暂时不参与负载
4 weight 默认为1.weight越大,负载的权重就越大。
5 max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
6 fail_timeout:max_fails 次失败后,暂停的时间。
7 backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。
8 ip_hash 能够将某个 ip 的请求定向到同一台后端,这样一来这个 ip 下的某个客户端和某个后端就能建立起稳固的 session
这样每个访客固定访问一个后端服务器,可以解决session的问题
upstream resinserver{
ip_hash;
server 192.168.159.10:8080;
server 192.168.159.11:8080;
}
4
location / {
proxy_pass http://a.com; #这个地址一定是上面定义的负载均衡的名字
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}