python全栈开发第7天 nginx服务器和nfs的搭建及组成集群的方法
作业一:nginx服务
二进制安装nginx包
1、使用命令:yum install epel-release -y ,来安装epel,安装成功如下图:(因为我用32位的centos7老是出现各种各样的问题,所以这里我用32位的centos6.8版本进行演示)

2、使用yum install nginx -y 命令对Nginx服务进行安装,如下图:

安装完成如下图:

3、启动Nginx服务:

4、我们来尝试访问一下我们的网页,发现无法打开此网页,如下图:

5、因为这是简单的实验,所以我们来来把我们的防火墙关掉,再次做一下测试发现能够正常显示了:


作为web服务修改配置文件,让配置生效,验证配置
1、使用命令:mv /usr/share/nginx/index.html /usr/shsare/nginx/1.txt 将默认的主页改成1.txt;
2、使用命令:vim /etc/nginx/nginx.conf 编辑nginx的配置文件为内容如图:

3、在/usr/Mysite 目录下建立自己的index.html文档,写入hello world 内容;
4、使用命令:service nginx reload ,重新加载配置文件后,我们再次访问我们的网站,成功:

作业二:nfs服务
二进制安装nfs
使用命令:yum -y install rpcbind nfs-utils

作为共享存储挂载在三台web的网站根目录下

实现,在任意一台web上修改的结果,其余两台都可以看到
1、web1服务器中已经成功挂载了nfs上面的共享的目录,及能够看到html目录下的文件,如图所示:

2、web2上面的结果和web1上面相同,如图所示:

3、web3上面的结果和其它两个结果是相同的:


4、删除web1上面的内容后,可以发现其它两台服务器web1、web2的html中的文件都消失了,这正是我们需要的结果:



作业三:nginx反向代理三台web
实现基于轮询的方式调度三台web,并验证结果
vim /etc/nginx/nginx.conf编辑文件,编辑后重新加载nginx服务,如图所示:

出现了轮询效果:



实现基于权重的方式调度三台web,并验证结果
将上一步的配置文件改成如图所示的参数:

实际效果不在这里截图了,显然web1出现的次数要比其他两个服务器的页面出现次数多。
实现基于hash的方式调用三台web,并验证结果
使用ip-hash,客户端的IP地址用作散列密钥,以确定应为客户端请求选择服务器组中的哪个服务器。此方法确保来自同一客户端的请求将始终定向到同一服务器,除非此服务器不可用。
需要将上一步的配置文件修改成下图中的配置:

经过验证,页面一直是在web2界面。
作业四:nginx反向代理+三台web+nfs共享存储实现集群配置
共享存储的特点是,无论是从哪一台服务器上面修改网页文件,从三台服务器上面哪个服务器访问都是同一个文件,如图中所示:
1、这台是主服务器:

2、这台是web1服务器:

3、这台是web2服务器

4、这台是web3服务器:

我们在web1上面修改/usr/share/nginx/html目录下的index.html文件内容:

这样我们在以下的截图中看出,所有的服务器访问的文件内容都是一致的:




作业五:源码安装nginx,并按照作业一描述的那样去测试使用
python全栈开发第7天 nginx服务器和nfs的搭建及组成集群的方法的更多相关文章
- Python全栈开发【面向对象进阶】
Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...
- Python全栈开发【面向对象】
Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...
- Python全栈开发【模块】
Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...
- Python全栈开发【基础四】
Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...
- Python全栈开发【基础三】
Python全栈开发[基础三] 本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...
- Python全栈开发【基础二】
Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...
- Python全栈开发【基础一】
Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与wh ...
- python 全栈开发之路 day1
python 全栈开发之路 day1 本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...
- Python全栈开发
Python全栈开发 一文让你彻底明白Python装饰器原理,从此面试工作再也不怕了. 一.装饰器 装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为“ ...
随机推荐
- python部署到服务器(1) 一一 搭建环境
本机环境说明 linux下的CentOS 7, 自带python2.7.5, 使用 python --version 命令查看,因系统需要python2.7.5,因此我们并不卸载,另外安装python ...
- java_day07_异常
第七章: 异常 1.异常概述 在我们日常生活中,有时会出现各种各样的异常,例如:职工小王开车去上班,在正常情况下,小王会准时到达单位.但是天有不测风云,在小王去上班时,可能会遇到一些异常情况,比如小王 ...
- fastadmin 中 selectpage.js位置
备注: //特殊字段处理 因为接收到input中的属性名会被转成小写所以增加了一对键值 keyField: 'primarykey' $.each({data: 'source', keyField: ...
- Bmake
Bmake is a common makefile framework. Both support native build and cross build. Easy for use, modif ...
- LInux基于nginx与OpenSSL实现https访问
注意!!首先在nginx安装时添加--with-http_ssl_module模块,否则将会报错,只能从头开始了 自建证书: 通过openssl命令(软件包:openssl :openssl-deve ...
- PAT Basic 1030 完美数列 (25 分)
给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列. 现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列. 输入格 ...
- CSS基础学习-11.CSS伸缩盒(新版本)
- java虚拟机的基本结构如图
1 java虚拟机的基本结构如图: 1)类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间.除了类的信息外,方法区中可能还会存放运行时常量池信息,包括字 ...
- TXNLP 09-17
上节课讲了一些算法的复杂度,都比较简单,我就没有单独截图.1 n n^2 nlogn logn...等等 其实一些排序问题也比较简单.还是给大家列举一下. 归并排序: 主定理定理..吐血 算法复杂度相 ...
- Python3之正则表达式详解
正则表达式 本节我们看一下正则表达式的相关用法,正则表达式是处理字符串的强大的工具,它有自己特定的语法结构,有了它,实现字符串的检索.替换.匹配验证都不在话下. 当然对于爬虫来说,有了它,我们从HTM ...