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,并按照作业一描述的那样去测试使用

 

posted @ 2017-03-21 19:28  不老玩童萧龙  阅读(251)  评论(0编辑  收藏  举报