当前位置: 首页 > news >正文

nginx服务与nfs服务

一:nginx服务

二进制安装nginx包

Image(2)

作为web服务修改配置文件

在安装完成后,首先需要修改配置文件

vim /etc/nginx/nginx.conf

Image(3)

我们修改的是默认目录下的index.html文件

vim /usr/share/nginx/html/index.html

Image(4)

开启nginx服务,让配置文件生效。

systemctl start nginx

在浏览器中根据本机ip演示效果。

Image(5)

注:为了能让nginx能够开机即启动,我们可执行:

systemctl enable nginx

 

 

二:nfs服务

二进制安装nfs(四台机器上均需安装)

Image(6)

在根下新建一个/share目录,将1234567890写入该目录下的2.txt文件中。

Image(7)

安装完毕后在服务端修改nfs配置文件,目的为了确定哪个文件夹共享,允许哪个ip的客户端能够访问,及用户映射关系等,然后启动rpc(必须先启动,因为他基于通信)和nfs。

在此配置文件的输入格式为:

<输出目录> [客户端1] 选项(访问权限,用户映射,其他)例如:/share 192.168.16.0/24(rw,sync,fsid=0)

Image(8)

然后查找另外三台机器的ip并记录(这里只展示两个)。

Image

Image(1)

我们在另外三台web上启动和查询共享存储服务端的文件在什么目录下

Image(9)

Image(10)

我们需要先到服务器中修改权限

Image(11)

然后再回到web机上进行修改文件,并到其他两台查看是否有变化。

Image(12)

Image(13)

另外一台也是一样的。

如上图可以看到,在共享存储挂载在三台web的网站根目录下后,在任意一台web上修改的结果,其余两台都可以看到。

 

三:nginx反向代理三台web

首先类似于作业一,修改这三台服务器的index.html文件。注意:这里的文件可以自己设定路径也可使用默认的。具体参照作业一)(其他两台同理)

Image(14)

在代理服务端修改配置文件

vim /usr/share/nginx/html/index.html

Image(16)

1.实现基于轮询的方式调度三台web的修改。

Image(15)

注:这里的ip均为这三台web服务器的ip。

完成后验证的结果为:

这三种结果来回更替,这就是所谓的轮询!

2.实现基于权重的方式调度三台web的修改。

location下的命令不改变,将http下的命令略作修改

Image(20)

在这种方式下,连续的刷新,五次会有三次出现web1.

3.实现基于hash的方式调用三台web的修改

Image(21)

这种方式下,连续的刷新并不会改变所出现的内容,这就是hash,因为短时间连续的访问下,始终访问这台服务器会将数据放在内存中,有会话保持的作用,有助于提高访问效率。

 

四:nginx反向代理+三台web+nfs共享存储实现集群配置

  关系如图:

Image(22)

  具体操作:我们根据作业三的反向代理,在此基础上,我们可以把代理服务器看成nfs的共享存储设备,依然是根据作业二中(安装nfs服务器,建立共享目录;然后新建nfs的配置文件;完成后在其他三台服务器中根据ip查找共享存储服务器(即代理服务器)的共享目录并进行挂载;最后设置代理服务器的目录访问权限,这样我们就可以在其他三台服务器中对share目录下的文件进行增改删除的访问。)

  然后由于我们本身就是基于作业三的前提下做的,即反向代理也已经完成了。

  我们的关键问题就是如何将这两个服务所实践的功能给链接起来。

  先来看具体的访问流程:根据代理服务器的ip并加上你想访问的share文件名在浏览器进行查询,代理服务器根据nginx服务进行选择三台web服务器其中的一台进行处理,需要注意的是,由上面我们知道到达web服务器的命令格式形式是http//192.168.0.0/文件名,我们依然是基于web服务器的nginx服务将此命令处理后,根据nfs服务来访问共享存储设备。我们知道实现nfs共享功能的一个关键因素是将存储设备的share文件分别挂载到了这三台web服务器的目录下,所以这里我们只需要将web服务的nginx配置文件下的location改成:{ root /777}也就是设置nfs服务时你所挂载的目录。这样就实现了作业二与作业三的连通。

 

五:源码安装nginx,并按照作业一描述的那样去测试使用

1.在官网下载源码的nginx,并将他从物理机拖到虚拟机下的root目录下。

下载地址为:

2.在安装之前我们需要将之前安装的nginx卸载。

   yum remove nginx -y

3.安装nginx的所需要安装包:

pcre: 用来作地址重写的功能。

zlib:nginx 的gzip模块,传输数据打包,省流量(但消耗资源)。

openssl:提供ssl加密协议。

4.解压所下载的nginx压缩包。(注意解压前需安装gcc编译工具)

  tar xvf /root/nginx-1.10.3.tar.gz

Image(23)

5.然后cd到解压的目录文件下,执行配置安装选项,确定安装位置和其他配置。

./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module

6.然后编译安装。

make && make install

7.设置开机启动(systemctl enable nginx)

转载于:https://www.cnblogs.com/zhangge123/p/6597745.html

相关文章:

  • JavaScript_9_循环
  • 在Windows下为PHP5.6安装redis扩展和memcached扩展
  • 源码0603-08-掌握-NSURLSession-上传
  • MapReduce实例——查询缺失扑克牌
  • list内变量排序
  • 【bzoj1507】 JSOI2008—Blue Mary的旅行
  • JZOJ 3.25 1420——【汕头市选2012初中组】求和(sum)
  • 报表reportviewer控件使用时,单行文本过长的解决办法
  • 【VB超简单入门】五、基本输出输入
  • WordPress基础知识:条件判断标签及用法大全
  • EF Code-First 学习之旅 Code First Conventions
  • Excel从零整理
  • 线段树建图
  • C#编程(七十六)----------使用指针实现基于栈的高性能数组
  • CSS-样式表的分类以及选择器的分类
  • Android框架之Volley
  • AngularJS指令开发(1)——参数详解
  • CEF与代理
  • js学习笔记
  • MySQL-事务管理(基础)
  • PHP 7 修改了什么呢 -- 2
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • 编写符合Python风格的对象
  • 对JS继承的一点思考
  • 前端技术周刊 2019-02-11 Serverless
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 使用putty远程连接linux
  • 赢得Docker挑战最佳实践
  • 鱼骨图 - 如何绘制?
  • - 转 Ext2.0 form使用实例
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (145)光线追踪距离场柔和阴影
  • (C语言)球球大作战
  • (k8s中)docker netty OOM问题记录
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (四) Graphivz 颜色选择
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .net core 依赖注入的基本用发
  • .NET的微型Web框架 Nancy
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • /var/lib/dpkg/lock 锁定问题
  • [Angular 基础] - 自定义指令,深入学习 directive
  • [Bada开发]初步入口函数介绍
  • [CUDA手搓]从零开始用C++ CUDA搭建一个卷积神经网络(LeNet),了解神经网络各个层背后算法原理
  • [DEBUG] spring boot-如何处理链接中的空格等特殊字符
  • [Effective C++读书笔记]0012_复制对象时勿忘其每一部分
  • [Golang]K-V存储引擎的学习 从零实现 (RoseDB mini版本)
  • [HTML]Web前端开发技术18(HTML5、CSS3、JavaScript )HTML5 基础与CSS3 应用——喵喵画网页
  • [JS] 常用正则表达式集(一)
  • [P7885][Android13] 解决5G信号良好状态栏信号只有两格的问题
  • [paddle]ModuleNotFoundError: No module named ‘paddle.nn.layer.layers
  • [POI2009]WIE-Hexer