作业一: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的搭建及组成集群的方法的更多相关文章

  1. Python全栈开发【面向对象进阶】

    Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...

  2. Python全栈开发【面向对象】

    Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...

  3. Python全栈开发【模块】

    Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...

  4. Python全栈开发【基础四】

    Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...

  5. Python全栈开发【基础三】

    Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...

  6. Python全栈开发【基础二】

    Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...

  7. Python全栈开发【基础一】

    Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与wh ...

  8. python 全栈开发之路 day1

    python 全栈开发之路 day1   本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...

  9. Python全栈开发

    Python全栈开发 一文让你彻底明白Python装饰器原理,从此面试工作再也不怕了. 一.装饰器 装饰器可以使函数执行前和执行后分别执行其他的附加功能,这种在代码运行期间动态增加功能的方式,称之为“ ...

随机推荐

  1. python部署到服务器(1) 一一 搭建环境

    本机环境说明 linux下的CentOS 7, 自带python2.7.5, 使用 python --version 命令查看,因系统需要python2.7.5,因此我们并不卸载,另外安装python ...

  2. java_day07_异常

    第七章: 异常 1.异常概述 在我们日常生活中,有时会出现各种各样的异常,例如:职工小王开车去上班,在正常情况下,小王会准时到达单位.但是天有不测风云,在小王去上班时,可能会遇到一些异常情况,比如小王 ...

  3. fastadmin 中 selectpage.js位置

    备注: //特殊字段处理 因为接收到input中的属性名会被转成小写所以增加了一对键值 keyField: 'primarykey' $.each({data: 'source', keyField: ...

  4. Bmake

    Bmake is a common makefile framework. Both support native build and cross build. Easy for use, modif ...

  5. LInux基于nginx与OpenSSL实现https访问

    注意!!首先在nginx安装时添加--with-http_ssl_module模块,否则将会报错,只能从头开始了 自建证书: 通过openssl命令(软件包:openssl :openssl-deve ...

  6. PAT Basic 1030 完美数列 (25 分)

    给定一个正整数数列,和正整数 p,设这个数列中的最大值是 M,最小值是 m,如果 M≤mp,则称这个数列是完美数列. 现在给定参数 p 和一些正整数,请你从中选择尽可能多的数构成一个完美数列. 输入格 ...

  7. CSS基础学习-11.CSS伸缩盒(新版本)

  8. java虚拟机的基本结构如图

    1 java虚拟机的基本结构如图: 1)类加载子系统负责从文件系统或者网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间.除了类的信息外,方法区中可能还会存放运行时常量池信息,包括字 ...

  9. TXNLP 09-17

    上节课讲了一些算法的复杂度,都比较简单,我就没有单独截图.1 n n^2 nlogn logn...等等 其实一些排序问题也比较简单.还是给大家列举一下. 归并排序: 主定理定理..吐血 算法复杂度相 ...

  10. Python3之正则表达式详解

    正则表达式 本节我们看一下正则表达式的相关用法,正则表达式是处理字符串的强大的工具,它有自己特定的语法结构,有了它,实现字符串的检索.替换.匹配验证都不在话下. 当然对于爬虫来说,有了它,我们从HTM ...