1.

.nginx负载均衡的实现
.准备三台机器,准备3台虚拟机,或者和俩同桌交流一下 192.168.226.128 是nginx资源服务器,返回页面的
192.168.226.129 用作nginx负载均衡服务器
192.168.226.130 也用作nginx资源服务器 .分别配置三台机器
确保 128和130这2台机器,能正确的资源返回即可
这三个机器,都是通过修改nginx.conf来实现效果的
128此时返回 超哥 一米五的 页面
130返回
129配置反向代理 .配置关键点如下
129负载均衡配置修改nginx.conf如下 添加负载均衡地址池的参数
#默认是轮询方式,两台服务器
upstream s18django {
server 192.168.226.128;
server 192.168.226.130;
}
添加反向代理参数如下
proxy_pass http://s18django; .配置完毕后,重启nginx,检测负载均衡效果 访问192.168.226.129这个负载均衡器
它会默认轮询的,丢给upstream中的地址池,每人一次 .nginx负载均衡的算法
.轮询方式
.加权轮询
upstream s18django {
server 192.168.226.128 weight=;
server 192.168.226.130 weight=;
}
.ip_hash方式,对你的ip地址进行哈希,ip_hash方式不得与权重共用 upstream s18django {
server 192.168.226.128;
server 192.168.226.130;
ip_hash;
}

模拟负载均衡:

现在我们直接访问128服务器,

退出虚拟环境,关闭防火墙,打开nginx

我们在xshell中依次,登录129和130两个客户端

昨天已经装上了nginx了

安装nginx的三种方式:1.yum 2.源码包安装 3.rpm安装,需要解决大量依赖关系

上图是yum方式的安装方式,老师用的是这种,我用的是源码安装.,这台服务器是130

我们现在需要处理的是129

操作处理nginx.conf

原来的情况是,我们只把nginx服务器129当成代理的功能服务器,现在我们将服务器当成中间负载均衡的工具

添加的内容见上图.

server=>location=>s18django=>upstream里边的两个地址,默认是轮询的方式查找.

需要的是128和130应该是一样的代码,

保存退出

两种检查配置是否正确的方式

下面,我们打开修改一下

找到第59行

在代理前面,加上请求头和分号

保存,退出

这个时候,我们就测试成功了

下面我们将130的服务器的防火墙关上,nginx打开

访问浏览器的130服务器,得到下面的界面

129的防火墙也关上,我们再访问129服务器

再次刷新得到下面的结果:

128和130里边的来回走

如果出不来可以在"负载服务器上"重新加载一下

再次在浏览器中访问:http://192.168.34.129/

可以在128和130服务器之间来回跳转

下面我们开始查看129日志,看一下地址的流向

上图最后一行,运行进入日志

我们查看128的日志

130也开始日志

这个时候,我们对三者都开启了日志监控

老师讲解的通过yum安装的nginx就不在opt下面,在下图所示的地址

流程:

浏览器(1)==>服务器129==>服务器128

新开一个客户端,自己给自己发消息

得到这个地址,130也得到信息

130服务器没有

再次请求:

这个时候只有129和130接到了请求

curl相当于浏览器发起一个请求

下面我们看下反向代理和负载均衡//server和upstream是平级关系

重点:

3.配置关键点如下:

129负载均衡配置修改nginx.conf如下

添加的负载均衡地址池的参数:默认是轮询方式,两台服务器

添加反向代理参数如下

4.配置完毕后,重启nginx,检测负载均衡效果

访问192.168.226.129这个负载均衡器它会默认轮询的,丢给upstream中的两个地址,每人一次

这个proxy_pass里边的地址http://s18django  指向的是上边的upstream

5.nginx负载均衡的算法

    .nginx负载均衡的算法
.轮询方式
.加权轮询
upstream s18django {
server 192.168.226.128 weight=;
server 192.168.226.130 weight=;
}
.ip_hash方式,对你的ip地址进行哈希,ip_hash方式不得与权重共用 upstream s18django {
server 192.168.226.128;
server 192.168.226.130;
ip_hash;
}

第一点:轮询方式

第二点:加权轮询,也就是在负载均衡后边加上  weight=参数(数字).

保存退出,平滑加载一下

"我该睡了"就出现了4次,nginx页面出现1次

访问四次"天天想你",再出现"html"

第三点:ip_hash方式,对你的ip地址进行哈希.

  注意:ip_hash方式不得与权重共用

用法,见下图,只需要将权重信息删除,加上ip_hash

保存退出,重新加载

这个时候,再次访问,就只是一个界面了,访问浏览器或者在服务器上测试,只是一个结果:

换一台机器,结果可能发生变化.

最少链接数和url哈希

2.

3.

巨蟒python全栈开发linux之centos6 第二篇的更多相关文章

  1. 巨蟒python全栈开发linux之centos6

    1.nginx复习 .nginx是什么 nginx是支持反向代理,负载均衡,且可以实现web服务器的软件 在129服务器中查看,我们使用的是淘宝提供的tengine,也是一种nginx服务器 我们下载 ...

  2. 巨蟒python全栈开发linux之centos3

    1.作业讲解 (1)递归创建文件夹/tmp/oldboy/python/{alex,wusir,nvshen,xiaofeng} 下面中的路径没有必要换,在哪里创建都行,根目录下或者tmp目录下或者其 ...

  3. 巨蟒python全栈开发linux之centos1

    1.linux服务器介绍 2.linux介绍 3.linux命令学习 linux默认有一个超级用户root,就是linux的皇帝 注意:我的用户名是s18,密码是centos 我们输入密码,点击解锁( ...

  4. 巨蟒python全栈开发linux之centos2

    1.一些命令回顾 在vm中,右击"打开终端",输入命令ifconfig,得到的下图算是一个终端,并且我们可以看到服务器的ip是192.168.34.128 我们通过windows上 ...

  5. 巨蟒python全栈开发linux之cento9

    1.docker入门学习 查看机器中已经启动的所有的进程. ps -ef 2.docker常用命令学习 3.docker学习3 4.dockerfile与镜像 5.docker私有仓库 6.rabbi ...

  6. 巨蟒python全栈开发linux之centos7

    1.crm项目部署回顾(小BOSS) crm部署 nginx+uwsgi+django+mysql nginx    前端 uwsgi+django     后端 mysql   数据支撑 crm是一 ...

  7. 巨蟒python全栈开发linux之centos5

    1.nginx安装使用 2.nginx访问日志和压测命令 3.nginx反向代理配置 nginx的404页面 访问:淘宝官网的一个错误地址:http://taobao.com/eeeeeeee 淘宝的 ...

  8. 巨蟒python全栈开发linux之centos4

    1.linux虚拟环境1-4 2.linux运行crm代码

  9. 巨蟒python全栈开发linux之cento8

    1.复习路飞部署学习 2.mysql数据库远程访问 3.mysql主从复制 4.redis安全方式启动 5.redis数据类型 6.redis发布订阅 7.redis持久化 8.redis哨兵 9.r ...

随机推荐

  1. JavaScript——中的prototype(原型)

    JS中的prototype是JS中比较难理解的一个部分 本文基于下面几个知识点: 1 原型法设计模式 在.Net中可以使用clone()来实现原型法 原型法的主要思想是,现在有1个类A,我想要创建一个 ...

  2. windows / Linux 远程桌面访问全面总结 / 共享文件

    一般来说,ssh 是指无图形界面形式,是命令行的方式.  速度快. vnc 是的是图形界面形式.                            速度慢. ssh 方式登陆: 1.windows ...

  3. AngularJs学习笔记(2)——ng-include

    编写html文档的时候,为了实现代码模块化,增加复杂页面的代码可读性和可维护性,我们常常会想到将代码分散写入不同的HTML文件 angularJS里面的ng-include指令结合ng-control ...

  4. C语言学习笔记(三) 输入输出函数的基本用法以及运算符

    printf() ——将内容输出到显示器上 四种用法 1.printf("字符串");   直接输出字符串 2.printf("输出控制符",输出参数); 3. ...

  5. RHEL 7 安装MariaDB

    RedHat Enterprise Linux 7開始.系统盘中自带的数据库为MariaDB,安装的过程例如以下: 1. 挂载安装盘镜像:mount /dev/cdrom /mnt 2. 创建yum源 ...

  6. Atitit..net clr il指令集 以及指令分类  与指令详细说明

    Atitit..net clr il指令集 以及指令分类  与指令详细说明 1.1. .NET CLR 和 Java VM 都是堆叠式虚拟机器(Stack-Based VM), 1 1.2. 查看工具 ...

  7. HttpClient4.X 升级 入门 + http连接池使用

    转载请注明出处,谢谢~ http://blog.csdn.net/shootyou/archive/2011/05/12/6415248.aspx 在一次服务器异常的排查过程当中(服务器异常排查的过程 ...

  8. nginx源码学习_数据结构(ngx_pool_t)

    nginx中关于ngx_pool_t的数据结构位于src/core/ngx_palloc.c和src/core/ngx_palloc.h中,该数据结构主要是和内存池相关的,写下这篇博客前参考了网上很多 ...

  9. Yarn源码分析之参数mapreduce.job.reduce.slowstart.completedmaps介绍

    mapreduce.job.reduce.slowstart.completedmaps是MapReduce编程模型中的一个参数,这个参数的含义是,当Map Task完成的比例达到该值后才会为Redu ...

  10. hdu2068 RPG的错排 错排+组合

    RPG的错排 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...