基于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

(1)
王子豪王子豪
上一篇 2017-06-29 14:32
下一篇 2017-06-29 22:18

相关推荐

  • 第十四周 N21 总有刁民想害朕

    系统的INPUT和OUTPUT默认策略为DROP; 1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机;  iptables -A  INPUT -p tcp –dpor…

    Linux干货 2016-10-17
  • N22-第七周作业

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; 创建一个10G的分区:  &nbs…

    Linux干货 2016-12-18
  • 轻松实现源码打包安装[原创]

    通常我们在Linux/Unix下安装一平台时往往需要十几甚至更多安装包,这些源码包来源于网络、本地硬盘、移动设备。有时碰到网络不畅通或下载地址失效会带来很多麻烦,一个好方法便是将常用的软件包下载到本地硬盘存放。问题是久而久之连自己都不晓得哪些包才是适用的。现用makeself来实现自解压倒安装倒是一个很好的解决方案,下面以制作Func客户端安装包为例。 一、…

    Linux干货 2015-03-27
  • 编译安装httpd

    编译安装httpd   1 去官网下载源码包                                      为避免非法软件,一定要去官网下载http…

    2017-04-24
  • 马哥教育网络班22期第六周课程练习1

    1、1,$s/^\s\+/#/g 2、1,$s/^\s\+$//g 3、1,$s/^#\s//g 4、1,3s/^/#/g 5、sed -e s/gpgcheck=1/gpgcheck=0/g -e s/enabled=0/enabled=1/g /etc/yum.repos.d/CentOS-Media.repo  6、0 /4 * * * cp…

    Linux干货 2016-09-26
  • Linux用户与组之权限管理

    权限(rwx、sst、umask) chown chmod ACL(见下篇) 试验环境:CentOS 7.2 与CentOS 6.8,具体会在应用场景明确指出 权限 Linux系统对用户与组的管理,其具体操作手段就是对于权限的分配,而常见的权限分配工具有 rwx, sst, umask, ACL. 跟用户与组有uid和gid一样,权限也有…

    Linux干货 2016-08-07