基于nginx实现7层http的负载均衡

一、实验环境
实验环境为三台服务器:
1. nginx负载均衡器
1. 内网ip192.168.11.100
2. 外网ip172.16.251.89
2. 提供网页服务的RS-1服务器:192.168.11.201
3. 提供网页服务的RS-2服务器:192.168.11.202
4. 拓扑如下:
二、实验配置
后台服务器配置:
1. 后台提供网页服务的两台服务器配置:
yum instll ‐y nginx
2. 创建网页并保证网页可以正常访问;
nginx负载均衡器配置:
nginx实现7层负载均衡依赖于ngx_http_upstream_module模块;
1. 安装nginx
2. 配置nginx.conf文件,nginx的负载均衡需要先配置后调用,配置需要在http上下文中,调用可以在server
location上下文中:
#设置三个虚拟主机,前2个为提供服务的,权重分别为3,2,连接3次都失败则定义为服务器失效,每次连接等待5
响应,若5秒不响应则为失效,调度算法为最少连接(默认为轮询),每个nginx worker进程都和后台服务器保持32
路长连接#
upstream websrv {
server 192.168.11.201:80 weight=3 max_fails=3 fail_timeout=5;
server 192.168.11.202:80 weight=2 max_fails=3 fail_timeout=5;

server 127.0.0.1:80 backup; #如果两个服务器都失效,则本机提供服务#
least_conn;
keepalive 32;

}
3. 虚拟服务器配置:/etc/nginx/conf.d/vhost.conf:
server {
listen 80;
server_name 192.168.11.100;
location / {
proxy_pass http://websrv;
}
}
nginx七层负载调度算法:
轮询
加权轮询
最少连接
加权最少连接
hash key
hash $request_uri:基于目标ip的会话绑定
hash $remote_addr:基于源ip的会话绑定
consistent:表示采用一致性hash算法作为负载均衡算法和后台连接做会话绑定

原创文章,作者:王子豪,如若转载,请注明出处:http://www.178linux.com/78872

联系我们

400-080-6560

在线咨询

工作时间:周一至周五,9:30-18:30,节假日同时也值班

QR code