Bind+Nginx实现负载均衡

Nginx实现负载均衡

1 基础环境

1.1 服务器列表

1.2 DHCP分配内外地址

1.3 端口转发策略

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
    每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 
1.5.4 fair(第三方)
    按后端服务器的响应时间来分配请求,响应时间短的优先分配。 
1.5.5 url_hash(第三方)

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

2 配置DNS

2.1 安装软件包

这里只须安装最基本的bind、bind-libs、bind-utils三个组件即可

yum -y install bind bind-libs bind-utils

安装完成后启动服务

service named start

2.2 修改配置文件

named.conf主配置文件

vim  /etc/named.conf

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


主机IP


域名


172.16.16.10


www.xuel.com


172.16.16.20


www20.xuel.com


172.16.16.20


www30.xuel.com

正向区域配置文件

方向区域配置文件

更改三台主机DNS为172.16.16.10

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

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

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

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

3.1 安装Nginx

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

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前端负载均衡的页面

Web20的页面

Web30的页面

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

3.2 配置nginx负载均衡

核心配置如下

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

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

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

时间: 2024-10-12 08:10:42

Bind+Nginx实现负载均衡的相关文章

linux+nginx+tomcat负载均衡,实现session同步

linux+nginx+tomcat负载均衡,实现session同步 花了一个上午的时间研究nginx+tomcat的负载均衡测试,集群环境搭建比较顺利,但是session同步的问题折腾了几个小时才搞定,现把我的过程贴上来,以备用.软件及环境是:虚拟机上装centos 5.5IP为:192.168.0.51 装上nginx和tomcat  6.0.32 命名为 Tomcat1一台win7上装tomcat  6.0.32  IP为:192.168.0.50  命名为 Tomcat2 首先装ngin

配置Nginx实现负载均衡(转载)

一.负载均衡的作用 1.转发功能 按照一定的算法[权重.轮询],将客户端请求转发到不同应用服务器上,减轻单个服务器压力,提高系统并发量. 2.故障移除 通过心跳检测的方式,判断应用服务器当前是否可以正常工作,如果服务器期宕掉,自动将请求发送到其他应用服务器. 3.恢复添加 如检测到发生故障的应用服务器恢复工作,自动将其添加到处理用户请求队伍中. 二.下载安装 可在http://nginx.org/en/download.html网站下载Nginx.我选择的是稳定版本. 下载完之后就是安装,我把它

Nginx做负载均衡时session共享问题详解

用nginx做负载均衡时,同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,就会出现很多问题,比如说最常见的登录状态. 再者Nginx连接Memcached集群时,Nignx的请求从memcached服务器中根据key获得了value则直接返回value,如果没有获得到value则去MySQL中查询再返回. location / { set $memcached_key "$request_uri"; #设置请求memcached服务器的key memca

Nginx的负载均衡方案详解

Nginx的负载均衡方案详解 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs Nginx的负载均衡方案有: 1.轮询 轮询即Round Robin,根据Nginx配置文件中的顺序,依次把客户端的Web请求分发到不同的后端服务器. 配置的例子如下: http{ upstream sampleapp { server <<dns entry or IP Address(optional with port)>>; server <&l

使用nginx+Apache负载均衡及动静分离

使用nginx+Apache负载均衡及动静分离 介绍    LB负载均衡集群分两类: LVS (四层)和 nginx或haproxy (七层)    客户端都是通过访问分发器的VIP来访问网站 在七层中的网站页面有: .php .html .png .jpeg .jsp 等, 有动态页面有静态页面. 需要在应用层基于不同的应用进行分发. 一:实验拓扑图:     二:实验目标 实战:使用Apache+nginx实现动静分离的负载均衡集群 三:实验环境 主机作用分类 主机名 IP地址 安装软件 N

基于nginx的负载均衡概述与实现

前言: 前面我们提到了lvs和keepalived结合起来的高可用负载均衡,lvs根据原目ip地址及端口将其调度转发至后端 的某个主机,是一种四层的实现,因为lvs是四层的,所以不会受限于套接字或打开的文件数量.不过,如果我们想实现一些更高阶的功能,lvs就显得力不从心了,比如基于uri,cookie,header头部信息的负载均衡,此时我们就可以选择一些7层的负载均衡实现,比如nginx或haproxy等.本次我们就先来讲讲nginx的负载均衡把~ 正文: 其实,如果对lvs的各种类型和调度有

Nginx学习——负载均衡

负载均衡 Nginx提供了较多的负载均衡策略,包括加权轮询.IP哈希.fair.一致哈希等.前两个是Nginx官方源码内置的策略,而后面几个都是第三方模块,所以下面我们重点来看前两个内置策略. Nginx默认采用round_robin加权算法,如果要采用IP哈希策略,那么必须在Nginx的配置文件里通过配置指令ip_hash明确指定. 当整个http配置块被Nginx解析完毕之后,会调用各个http模块对应的初始函数.对于模块ngx_http_upstream_module而言,对应的main配

【Nginx】配置Nginx的负载均衡

阅读目录 参考的优秀文章 在本机运行2个Tomcat Nginx的负载均衡配置 参考的优秀文章 tomcat配置文件server.xml详解 AJP协议总结与分析 Using nginx as HTTP load balancer 在本机运行2个Tomcat 现需要运行两个Tomcat,监听不同端口,让Nginx作负载均衡跳转过来.Tomcat版本:apache-tomcat-7.0.69-windows-x64.zip 要在一台机器运行两个Tomcat,要解决端口的冲突,我们只需要D:\gre

Linux下利用nginx实现负载均衡

linux下利用nginx实现负载均衡 前提条件: 1,安装好jdk 2,安装好tomcat和nginx(可以参考我前两篇文章) 满足前提条件后,要用nginx实现负载均衡,主要是靠配置nginx的配置文件. 我们要实现的架构图如下: 1.分别部署3个tomcat,端口分别为8080,8081,8082 drwxr-xr-x 9 root root 4096 Mar 11 13:41 tomcat8-8080drwxr-xr-x 9 root root 4096 Mar 11 17:27 tom