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负载均衡,将请求分散的打到我们的后端服务器集群中,实现 ...
随机推荐
- mysql 查询成本
SELECT SQL_NO_CACHE spu from dp_distributor_products_1_online where dpId > 15 AND dpId <= 60; ...
- GCD死锁 多线程
NSLog("); dispatch_sync(dispatch_get_main_queue(), ^{ // sync同步 main串行 // 同步,异步--线程 同步-主线程 // m ...
- 提取本地环境中部署RDLC的DLL
要使用reportviewer来呈现报表,需要有三个dll Microsoft.ReportViewer.WinForms.DLL Microsoft.ReportViewer.WebForms.DL ...
- swiper.animate~之~可以执行两种动画的升级版的Swiper Animate
1.下载插件swiper.animate-twice.min.js,加载进页面. <!DOCTYPE html> <html> <head> ... < ...
- 鼠绘漫画 for wp8.1
技术规格总结: 这个APP 总体上是下载图片的一个APP 所以对图片的查看&控制上需要一定功力,至少有一个稳定的缩小,放大的图片控件. 搭载WP系统的手机,内存上大部分不是很大,所以内存的控制 ...
- nginx1.8安装nginx_concat_module及400错误解决办法
nginx安装concat模块可以合并js,css等静态资源,减少http请求 在nginx源码目录执行命令: ./configure --user=www --group=www --prefix= ...
- aischool 倒计时VIEW封装
@implementation TWPaperTimeCountLabel { NSInteger miaoshu; dispatch_source_t _timer; } -(id)initWith ...
- Node.js Express 框架学习
转载:http://JavaScript.ruanyifeng.com/nodejs/express.html#toc0 感觉很牛的样子,不过觉得对初学者没太大用,里面很多例子用的api都没有详细的说 ...
- JavaScript基本操作
一.如何编写? 1.JavaScript代码存在形式 <!-- 方式一 --> <script type="text/javascript" src=" ...
- 彻底卸载Oracle
彻底卸载Oracle 用Oracle自带的卸载程序不能从根本上卸载Oracle,从而为下次的安装留下隐患,那么怎么才能完全卸载Oracle呢?那就是直接注册表清除,步骤如下: 1. 开始->设置 ...