Bind+Nginx实现负载均衡

简介:

Nginx实现负载均衡

基础环境

1.1 服务器列表

wKioL1ixh6PiHSAWAADCl1Nv56I937.png

1.2 DHCP分配内外地址

wKioL1ixhxqyiT0WAACR82hhiBc002.png

1.3 端口转发策略

wKioL1ixh8vB82BuAABj_uqTe0s747.png

1.4 初始化信息

主机名称

内外IP

系统

实现功能

Upstream

172.16.16.10

Centos 6.5 64

DNSserver+Nginx实现负载均衡

Nginx-20

172.16.16.20

Centos 6.5 64

后端nginx提供web服务

Nginx-30

172.16.16.30

Centos 6.5 64

后端nginx提供web服务

云路由器公网IP:103.21.118.91

初始化保证关闭iptables或开放相关端口,selinux处于禁用状态,内外各主机可以相互正常通讯。

1.5 相关知识

nginx 的 upstream目前支持5种方式的分配 
1.5.1 轮询(默认) 
    每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
1.5.2 weight 
    指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 
1.5.3 ip_hash 
    每个请求按访问iphash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。  
1.5.4 fair(第三方) 
    按后端服务器的响应时间来分配请求,响应时间短的优先分配。  
1.5.5 url_hash(第三方)

    按访问urlhash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

配置DNS

2.1 安装软件包

这里只须安装最基本的bindbind-libsbind-utils三个组件即可

yum -y install bind bind-libs bind-utils

安装完成后启动服务

service named start

2.2 修改配置文件

named.conf主配置文件

vim  /etc/named.conf

wKiom1ixiDDD_4_VAAKymRaWIFQ600.png

wKioL1ixiGOxQE93AADq4Vj1TLY359.png

区域配置文件在/var/named 目录下

wKiom1ixiIbA0fp0AAMOY7L8xyg257.png

主机IP

域名

172.16.16.10

www.xuel.com

172.16.16.20

www20.xuel.com

172.16.16.20

www30.xuel.com

正向区域配置文件

wKiom1ixiQzjb5czAAFFoDkDjMc266.png

方向区域配置文件

 wKioL1ixiRrBRLkKAAFfYujtnF4824.png

更改三台主机DNS172.16.16.10

 wKioL1ixiSnRN0C3AADTM8tqoTk595.png

重启dns服务重写加载配置文件

wKiom1ixiTaRZhiiAACAggQAtD4165.png

测试ping域名是否解析到对于的IP地址

wKioL1ixiY-jd0zCAAWhwdVKATc991.png

使用nslookup测试反向解析是否成功

 wKiom1ixiaHjuHNJAAISiOG4xeU397.png

3 Nginx的安装与负载均衡的配置

3.1 安装Nginx

安装开发组环境工具与相关软件包

1
2
3
4
5
6
7
yum  install  -y pcre-devel openssl-devel
yum groupinstall  "Development tools"
wget  http: //nginx .org /download/nginx-1 .11.2. tar .gz
tar  zxvf nginx-1.11.2. tar .gz
cd  nginx-1.11.2
. /configure   --prefix= /usr    --sbin-path= /usr/sbin/nginx    --conf-path= /etc/nginx/nginx .conf   --error-log-path= /var/log/nginx/error .log   --http-log-path= /var/log/nginx/access .log   --pid-path= /var/run/nginx/nginx .pid
make  &&  make  install

Nginx前端负载均衡的页面

wKioL1ixij2htgJKAABvqwa3r4c577.png

Web20的页面

wKioL1ixik7w_-WgAABlZuWJcKE868.png

Web30的页面

wKiom1ixilvgdfhfAAByEYl9Sns734.png

Linux服务器测试页面可以正常访问

wKiom1iximiDpVOaAAFA0XOee7c543.png

3.2 配置nginx负载均衡

核心配置如下

wKioL1ixiuHjSOF5AAICl0C60pA271.png

在本实验内我们定义的upstream xuel.com

后端两天web服务器nginx核心配置如下

wKioL1ixiv_j5HwIAADW6c6qXOA247.png

测试访问云路由其公网IP,不断刷新,后端的web20web30页面依次出现

wKiom1ixiyOAt3ypAAFptKfofXc254.png

wKiom1ixizjRhlZ1AAFJArfatMA419.png










本文转自 KaliArch 51CTO博客,原文链接:http://blog.51cto.com/kaliarch/1901254,如需转载请自行联系原作者
相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
15天前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
31 0
|
5天前
|
负载均衡 应用服务中间件 nginx
Nginx 负载均衡
Nginx 负载均衡
20 2
|
2月前
|
负载均衡 Java 应用服务中间件
|
2月前
|
负载均衡 监控 应用服务中间件
Nginx负载均衡:你的网站流量翻倍利器
Nginx负载均衡:你的网站流量翻倍利器
43 0
|
2月前
|
消息中间件 关系型数据库 MySQL
使用Nginx的stream模块实现MySQL反向代理与RabbitMQ负载均衡
使用Nginx的stream模块实现MySQL反向代理与RabbitMQ负载均衡
61 0
|
3月前
|
缓存 负载均衡 算法
【Nginx】Nginx 负载均衡
【1月更文挑战第25天】【Nginx】Nginx 负载均衡
|
3月前
|
负载均衡 应用服务中间件 nginx
【实践】使用Nginx作为GrayLog日志接入的负载均衡
【实践】使用Nginx作为GrayLog日志接入的负载均衡
48 0
|
3月前
|
负载均衡 应用服务中间件 nginx
百度搜索:蓝易云【Nginx和tomcat实现负载均衡教程】
至此,你已经成功地使用Nginx和Tomcat实现了负载均衡。Nginx将根据配置的负载均衡策略将客户端请求分发到多个Tomcat服务器上,以提高系统的性能和可用性。请注意,在实际生产环境中,还需要进行其他配置和优化,如健康检查、会话保持等,以满足具体的需求。
34 0
|
3月前
|
负载均衡 安全 前端开发
百度搜索:蓝易云【Nginx与Tomcat负载均衡-动静分离教程】
这些是将Nginx与Tomcat结合使用实现负载均衡和动静分离的基本步骤。根据您的需求和具体环境,可能还需要进行其他配置和调整。请确保在进行任何与网络连接和安全相关的操作之前,详细了解您的网络环境和安全需求,并采取适当的安全措施。
49 1
|
4月前
|
负载均衡 前端开发 应用服务中间件
Nginx中的负载均衡有哪几种方式?
Nginx中的负载均衡有哪几种方式?
57 0