CentOS7 Nginx负载均衡
五台服务器
192.168.155.129 nginx反向代理服务器
192.168.155.130 apache+PHP服务器,PHP要使用mysql函数库,配置的时候就要指定mysql安装路径,所以虽然以后连接远程mysql服务器,安装PHP时本地也要先安装mysql提供mysql库(只是用到了其中的库,无需启动数据库和分配账号),下面的nginx+PHP服务器也同样如此
192.168.155.131 nginx+PHP服务器
192.168.155.132 apache+PHP+mysql1服务器
192.168.155.133 apache+PHP+mysql2PHP服务器
本台nginx服务器的IP地址为 192.168.155.129 192.168.155.129shell端
暂时关闭nginx
service nginx stop 在http{}节点里添加
upstream mySite {
server 192.168.155.130:80 down;
server 192.168.155.131:80 weight=1;
server 192.168.155.132:80 weight=2;
server 192.168.155.133:80 backup;
#ip_hash;
}
upstream 表示一组的负载均衡服务器,mySite为自定义名,用来给下面的proxy_pass参数赋值
down 表示该服务器暂时不参与负载
weight 默认为1,weight越大,负载的权重就越大。 上面比例的话相当访问两次192.168.155.132,访问一次192.168.155.131
backup 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
ip_hash 让每个客户端每次访问固定访问第一次访问的后端服务器,该方法有一定弊端,暂时注释掉
在需要使用负载的server{}节点里的需要使用负载的location{}里添加如下段
proxy_pass http://mySite;
该server{}节点即开始使用该组服务器做负载均衡
反向代理会把客户端请求过来的url,参数,等数据原样发给某个负载均衡的服务器上处理,如果其中有机器故障,会自动转交其他机器处理
Nginx支持多组的负载均衡,可以配置多个upstream来服务于不同的Server。
nginx 的 upstream目前支持 4 种方式的负载分配
1)、轮询(默认即相当于weight=1)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight值和访问比率成正比,用于后端服务器性能不均的情况。
2)、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session不能共享的问题。
3)、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
4)、url_hash(第三方)
vim /usr/local/nginx/conf/nginx.conf 开启服务器
service nginx start 在mySite组每个服务器根目录下新建f1.php
每个服务器f1.php内容依次是
192.168.155.130/f1.php
<?php echo "this is 192.168.155.130";exit;?>
192.168.155.131/f1.php
<?php echo "this is 192.168.155.131";exit;?>
192.168.155.132/f1.php
<?php echo "this is 192.168.155.132";exit;?>
192.168.155.133/f1.php
<?php echo "this is 192.168.155.133";exit;?> 浏览器中输入
http://192.168.155.129/f1.php
会输出显示
this is 192.168.155.131
或
this is 192.168.155.132
每显示两次this is 192.168.155.132显示一次this is 192.168.155.131
CentOS7 Nginx负载均衡的更多相关文章
- centos7+nginx负载均衡Tomcat服务
接着上一篇:www.cnblogs.com/lkun/p/8252815.html 我们在上一篇在一台centos7服务器上部署了两个nginx,接下来我们使用一个nginx实现tomcat的负载均衡 ...
- Linux(CENTOS7) Nginx负载均衡简单配置
负载均衡的作用 1.转发功能 按照一定的算法[权重.轮询],将客户端请求转发到不同应用服务器上,减轻单个服务器压力,提高系统并发量. 2.故障移除 通过心跳检测的方式,判断应用服务器当前是否可以正常工 ...
- 基于【 centos7】四 || FastDFS集群+Nginx负载均衡
1. 架构设计 1.1 架构图 FastDFS是用c语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,使用F ...
- 手把手教你玩转nginx负载均衡(二)----安装虚拟机操作系统
引言 在上一篇,我们组装好了虚拟机的硬件部分,那么现在我们就要把操作系统装上了,既然是服务器,那么安装linux操作系统是个比较好的选择,如果你喜欢的话,安装windows也是没有任何问题的 我这里选 ...
- Net分布式系统之二:CentOS系统搭建Nginx负载均衡
一.关于CentOS系统介绍 CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat ...
- Net分布式系统之三:Keepalived+LVS+Nginx负载均衡之高可用
上一篇写了nginx负载均衡,此篇实现高可用(HA).系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常运行.针对系统架构设计的高可用要求,我们需要解决Nginx ...
- Keepalived+LVS+Nginx负载均衡之高可用
Keepalived+LVS+Nginx负载均衡之高可用 上一篇写了nginx负载均衡,此篇实现高可用(HA).系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常 ...
- nginx负载均衡三:keepalive+nginx双机热备 和负载均衡
环境 centos7.0 nginx:1.15 1.主备四台服务器 f1:负载均衡 192.168.70.169 f2:web站点 192.168.70.170 f3:web站点 192.168 ...
- nginx负载均衡实验
Nginx负载均衡概述 Web服务器,直接面向用户,往往要承载大量并发请求,单台服务器难以负荷,我使用多台WEB服务器组成集群,前端使用Nginx负载均衡,将请求分散的打到我们的后端服务器集群中,实现 ...
随机推荐
- python学习道路(day8note)(抽象类,类的方法,异常处理,socket编程)
1.#面向对象 #抽象接口 === 抽象类 #就是架构师给你一个架子,你们去写,如果满足不了直接报错 #python2 print("python2---抽象类".center(2 ...
- JAVA枚举的作用与好处
枚举是一种规范它规范了参数的形式,这样就可以不用考虑类型的不匹配并且显式的替代了int型参数可能带来的模糊概念 枚举像一个类,又像一个数组.Enum作为Sun全新引进的一个关键字,看起来很象是特殊的c ...
- 数据库连接池:Druid
转自: http://www.cnblogs.com/windlaughing/p/3287501.html Java连接数据库方法概述 java.sql提供了一些接口和类,用于支持数据库增删改查等相 ...
- FIFO简记
FIFO( First In First Out)简单说就是指先进先出的存储方式,在高速外设读取时经常使用. FIFO从读写的时钟可分为同步和异步两种,从信号来说都有读.写使能信号,读.写数据总线,满 ...
- web前端开发学习路径图
第一阶段 WEB前端工程师课程 HTML语句,HTML页面结构.css语法.style属性.link和style标签.id属性.等HTML语句中的相关属性: 通过Dreamweaver制作出跨越平台限 ...
- python web框架之django环境搭建
一.django环境搭建 https://www.djangoproject.com/download/ 下载适合自己的版本,在右边有压缩包版本的,也可以到git上去拽.我用的python27,下载的 ...
- vulcan测试记录
感觉这个游戏很赞,是六个里面最喜欢的一个了 1.有时候挖坑对于位置要求比较大? 2.感觉难度比较大,尤其是玩到第三关很考验啊(不过从另一个方面来说也是优点?) 3.玩到现在对于怪物吃金子的原理没有很懂 ...
- mongodb学习(一)
操作系统环境:ubuntu. 安装mongodb:apt-get install mongodb 安装后运行:mongod提示:[initandlisten] exception in initAnd ...
- linux查看某个进程内存占用情况以及/proc/pid/status解释
以nginx 为例1.toptop -b -n 1 |grep nginx|awk '{print "VIRT:"$5,"RES:"$6,"cpu:& ...
- C# 连接Oracle ,免安装客户端
在.NET平台下开发Oracle应用的小伙伴们肯定都知道一方面做Oracle开发和实施相比SqlServer要安装Oracle客户端(XCopy.自己提取相关文件也有一定复杂性),另一方面相比JAVA ...