nginx 下轮询简易负载均衡

我拿三台服务器做实验,负载均衡服务器为1号  其他为2,3 号机

负载均衡服务器 ip 10.0.127.247

2号机 ip 10.0.127.47

3号机ip 10.0.127.96

首先在2,3,号机上分别搭建一个站点如下,以2 号机为例,3号机操作一样

1,进入到 Nginx 虚拟站点配置文件目录下

cd /etc/nginx/sites-available/

2.复制 一份站点配置 模板

sudo cp default  www.hjc.com

3,对创建的站点进行配置

sudo vim www.hjc.com

4,返回到上级目录进入sites-enabled创建一个软链接 指向刚才配置的站点文件

cd ..

cd sites-enabled/

sudo ln -s ../sites-available/www.hjc.com www.hjc.com

5,重启nginx ,如果不报错,则配置文件没有错误,报错可能是nginx没启动 或者web端口被其他进程占据,根据提示修改

sudo service nginx restart

6,进入到站点数据保存目录中创建一个www.hjc.com 目录 ,保证和第三步 root 中路径相同

sudo mkdir www.hjc.com

7,在 www.hjc.com 目录中创建一个测试html文件

sudo vim index.html

测试代码

<!doctype html>  
<html>  
<head>    
<title>Heart</title>   
<meta charset="UTF-8">    
</head>    
<body>    
<canvas id="c"></canvas>    
<script>    
    var b = document.body;
     var c = document.getElementsByTagName(‘canvas‘)[0];
     var a = c.getContext(‘2d‘);
</script>
    <script>
eval(‘var M=Math,n=M.pow,i,E=2,F="rgba(233,61,109,",d=M.cos,z=M.sin,L=1,u=30,W=window,w=c.width=W.innerWidth,h=c.height=W.innerHeight,r=_1){return M.random()*2-1},y="px Arial",v="2号机",q="",X=w/2,Y=h/2,T=4,p=_1){var e=this;e.g=_1){e.x=X;e.y=Y;e.k=0;e.l=0;e.t=M.random()*19000;e.c=e.t};e.d=_1){a.fillStyle=F+(e.c/e.t)+")";a.fillText(q,e.x,e.y);e.c-=50;e.x+=e.k;e.y+=e.l;e.k=e.k+r();e.l=e.l+r();if(e.c<0||e.x>w||e.x<0||e.y>h||e.y<0){e.g()}};e.g()},A,B;a.textAlign="center";a.strokeStyle="#000";a.lineWidth=2;for(i=0;i<350;i++){M[i]=new p()}setInterval(_1){a.clearRect(0,0,w,h);a.font=u+y;X=(w/6*n(z(T),3)+w/2);Y=0.8*(-h/40*(13*d(T)-5*d(2*T)-2*d(3*T)-d(4*T))+h/2.3);T+=(z(T)+3)/99;for(i=0;i<350;i++){with(M[i]){A=(x/w-0.5)*2,B=-(y/h-0.5);if(L&&(A*A+2*n((B-0.5*n(M.abs(A),0.5)),2))>0.11){k=l=0}d()}}a.font=120+y;if(E>0.1){if(E<1){a.fillStyle=F+E+")";a.fillText("Click",w/2,h/2)}E-=0.02}a.fillStyle="#E93D6D";a.fillText(v,X,Y+u);a.strokeText(v,X,Y+u)},50);b.bgColor="#FFEFF2";c.onmouseup=_1){L=(L)?0:1}‘.replace(/(_1)/g,‘function(‘))
    </script>
<div style="text-align:center;">
</div>
</body> 
</html>

8,最后修改hosts文件,让ip解析到本地 ,在文件中加入10.0.127.47 www.hjc.com

sudo vim /etc/hosts

二:

3号机和2号机配置和上面一样

现在配置负载均衡服务器

1,首先配置一个和上面一个名称一样的站点

主要的配置文件略有不同

在文件开头增加一个连接池 添加部署的服务器IP

upstream www_server_pools { #www_server_pools自定义的连接池名称
server 10.0.127.47; #连接的服务器,可以ip或者是域名
server 10.0.127.96;
}

在location 里面增加 转发算法

proxy_pass http://www_server_pools;#http://连接池名称
proxy_set_header Host $host; #把主机的header头发给轮询的服务器
proxy_set_header X-Forward-For $Remote_addr; #获取真实的ip地址

8 和上面一样创建一个软链接指向该文件,然后重启nginx ,在/var/www下 创建一个www.hjc.com 目录 最后配置下

hosts 文件就结束了。

9,运行效果 :

第一次访问负载均衡服务器会把流量引入2号机,然后点刷新会把流量引入3号机。 实现了轮询访问,再点一次就回到2号机。

原文地址:https://www.cnblogs.com/yjz8888/p/9643315.html

时间: 2025-01-17 12:10:50

nginx 下轮询简易负载均衡的相关文章

NDS服务器的正向解析、反向解析、站点轮询(负载均衡)、泛域名解析、主从DNS服务器以及主从DNS更新测试

  1.什么是DNS? DNS是域名系统(Domain Name System)的缩写,简单地说就是把域名解析成IP地址. 2.DNS分为哪几种类型? 主域名服务器 辅助域名服务器(从域名服务器) 转发域名服务器 缓存域名服务器 3.DNS查询类型分为哪几种? 从查询方式来分为递归查询(要么查询成功,要么查询失败)和迭代查询(从一台DNS查询另一台DNS过程) 从查询内容来分为正向查询(由域名查找IP地址过程)和反向查询(有IP地址查询域名的过程) 实验(一) 实验名称:搭建主DNS服务器 实验

用nginx进行同一个服务器下多域名的负载均衡配置

Nginx进行http负载均衡的模块是upstream Upstream可以进行多个配置,这样的话可以灵活的配置站点,但是注意的是upstream后面的名字最好是配置成为域名,因为upstream是进行http访问的,一般的解析没有问题,但是如果是ajax的解析就会通过访问upstream后面的名字来进行访问了,这里要注意. 修改配置文件:conf/nginx.conf 配置文件代码 #需要进行负载均衡的站点 #其中server是其中负载均衡的一个节点www.aaa.com upstream w

Nginx的反相代理, 负载均衡

转自 http://freeloda.blog.51cto.com/2033581/1288553 大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:http://yunpan.cn/QXIgqMmVmuZrm 一.前言 在前面的几

Nginx 中 upstream 机制的负载均衡

负载均衡 upstream 机制使得 Nginx 以反向代理的形式运行,因此 Nginx 接收客户端的请求,并根据客户端的请求,Nginx 选择合适后端服务器来处理该请求.但是若存在多台后端服务器时,Nginx 是根据怎样的策略来决定哪个后端服务器负责处理请求?这就涉及到后端服务器的负载均衡问题. Nginx 的负载均衡策略可以划分为两大类:内置策略 和 扩展策略.内置策略包含 加权轮询 和 IP hash,在默认情况下这两种策略会编译进 Nginx 内核,只需在 Nginx 配置中指明参数即可

Nginx、LVS及HAProxy负载均衡软件的优缺点详解

提升根据不同的阶段来使用不同的技术.具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了:如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的:大型网站或重要的服务,且服务器比较多时,可以考虑用LVS. 一种是通过硬件来进行,常见的硬件有比较昂贵的F5和Array等商用的负载均衡器,它的优点就是有专业的维护团队来对这些服务进行维护.缺点就是花销太大,所以对于规模较小的网络服务来说暂时还没有需要使用:另外一种就是类似于Nginx/LVS

nginx如何做到TCP的负载均衡

TCP 的 负载均衡 这个片段描述了如何通过nginx plus进行负载均衡 在版本5中,nginx plus 能够代理和负载均衡通过TCP路径,TCP对于一些流行应用和服务是一个协议:LDAP.MYSQL.RTMP stream 模块 TCP 负载均衡被nginx的三个模块所实现,而且这些模块被嵌入在nginx plus中. 它们定义的命令是在stream配置块中: ngx_stream_core_module :定义基本的命令来激活这个TCP通信过程 ngx_stream_proxy_mod

Nginx、LVS、HAProxy负载均衡软件的优缺点

PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术.具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了:如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的:大型网站或重要的服务,且服务器比较多时,可以考虑用LVS. 一种是通过硬件来进行进行,常见的硬件有比较昂

实践NGINX的反向代理与负载均衡

实践NGINX的反向代理与负载均衡 安装nginx过程 [[email protected] opt]# yum install pcre-devel openssl-devel -y [[email protected] opt]# wget -q http://nginx.org/download/nginx-1.10.2.tar.gz [[email protected] opt]# useradd nginx -s /sbin/nologin -M [[email protected]

nginx+keepalived的高可用负载均衡集群构建

实验架构图: 实验环境 Nginx和Keepalived原理介绍 参考博客:http://467754239.blog.51cto.com/4878013/1541421 1.nginx Nginx进程基于于Master+Slave(worker)多进程模型,自身具有非常稳定的子进程管理功能.在Master进程分配模式下,Master进程永远不进行业务处理,只是进行任务分发, 从而达到Master进程的存活高可靠性,Slave(worker)进程所有的业务信号都 由主进程发出,Slave(wor