当前位置:K88软件开发文章中心编程语言LinuxLinux01 → 文章内容

Nginx实现负载均衡配置实例

减小字体 增大字体 作者:佚名     来源:asp编程网  发布时间:2018-12-30 9:19:33

先看图比较好:

还是图比较清晰,以下我都用别名称呼:
PA : 负载均衡服务器/WEB入口服务器/www.K88.NET
P1 : WEB服务器/分身1/192.168.2.3
P2 : WEB服务器/分身2/192.168.2.4
P3 : WEB服务器/分身3/192.168.2.5
PS:首先我们学这个的开始之前吧,不懂防火墙的童鞋们,建议你们把PA、P1、P2、P3的防火墙关闭,尽量不要引起不必要的麻烦。
首先 :PA、P1、P2、P3都安装了Nginx,不会安装的可以去官网查看教程:http://www.nginx.cn/install (中文版教程、非常的牛X)

以下操作都在nginx.conf文件中http段处理的,nginx.conf文件和路径是/usr/local/nginx/conf/nginx.conf

1. 装完之后哈,我们先找到 PA 的nginx.conf配置文件:
在http段加入以下代码:
http
{
 
 
……
 
 
upstream servers.K88.NET
{ //这servers.K88.NET随便取的
 
 
 
 
server 192.168.2.3:80
 

 
 
 
 
server 192.168.2.4:80
 

 
 
 
 
server 192.168.2.5:80

 
}
 
server


 
 
listen 80
 

 
 
server_name www.K88.NET
 

 
 
location /


 
 
 
 
proxy_pass http://servers.K88.NET
 

 
 
 
 
proxy_set_header Host $host
 

 
 
 
 
proxy_set_header X-Real-IP $remote_addr
 

 
 
 
 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for
 

 
 


 
}  
 

}

那么P1、P2、P3的配置如下:
server


 
 
listen 80
 

 
 
server_name www.K88.NET
 

 
 
index index.html
 

 
 
root /data/htdocs/www
 




2. 有人就问了,我用其它端口行不行啊,当然也是可以的,假设PA的nginx.conf配置文件:
upstream servers2.K88.NET


 
 
server 192.168.2.3:8080
 

 
 
server 192.168.2.4:8081
 

 
 
server 192.168.2.5:8082

}

server


 
 
listen 80
 

 
 
server_name www.K88.NET
 

 
 
location /


 
 
 
 
proxy_pass http://servers2.K88.NET
 

 
 
 
 
proxy_set_header Host $host
 

 
 
 
 
proxy_set_header X-Real-IP $remote_addr
 

 
 
 
 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for
 

 
 





那么P1的配置如下:
server


 
 
listen 8080
 

 
 
server_name www.K88.NET
 

 
 
index index.html
 

 
 
root /data/htdocs/www
 

}
P2配置:
server


 
 
listen 8081
 

 
 
server_name www.K88.NET
 

 
 
index index.html
 

 
 
root /data/htdocs/www
 

}
P3配置:
server


 
 
listen 8082
 

 
 
server_name www.K88.NET
 

 
 
index index.html
 

 
 
root /data/htdocs/www
 

}
重启之后,我们访问下,恩不错,确实很厉害。
当我们把一台服务器给关闭了后。
访问网址,还是OK的。说明:负载均衡还要懂得修理他 


3. 那么负载均衡如何保持通话呢?
当然现在有好几种方案,我们这次只是讲一种。
IP哈希策略
优点:能较好地把同一个客户端的多次请求分配到同一台服务器处理,避免了加权轮询无法适用会话保持的需求。
缺点:当某个时刻来自某个IP地址的请求特别多,那么将导致某台后端服务器的压力可能非常大,而其他后端服务器却空闲的不均衡情况。

nginx的配置也很简单,代码如下:
upstream servers2.K88.NET


 
 
server 192.168.2.3:8080
 

 
 
server 192.168.2.4:8081
 

 
 
server 192.168.2.5:8082

 
 
ip_hash

}
其实一切就这么简单,来赶快试试吧!

Nginx实现负载均衡配置实例