Linux基础(四)
通过前面的知识的学习,来现学现卖咯!
1、题目:集群搭建
1.1、部署nginx反向代理三个web服务,调度算法使用加权轮询;
1.2、所有web服务使用共享存储nfs,保证所有web都对其有读写权限,保证数据一致性;
这个怎么实现呢?
先介绍一下nginx,Nginx 是一个 web 服务器。它类似于 Lighttpd,作为轻量级的 web server,可以替代重量级的 Apache/IIS。Nginx 专为性能优化而开发,是一个快速且能经受高负载考验的 web server。
再来介绍一下两个概念正向代理和反向代理的概念和原理
正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。
反向代理正好相反,对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理 的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容 原本就是它自己的一样。
1.1、部署nginx反向代理三个web服务,调度算法使用加权轮询;实现步骤入下所示:
nginx服务器安装
1. 先安装epel-release
yum install epel-release -y #epel是centos等衍生发行版,用来弥补centos内容更新有时比较滞后或是一些扩展的源没有.
2.开始安装nginx
yum install nginx #安装nginx
3.查看nginx的配置信息
cat /etc/nginx/nginx.conf #查看信息 vim /etc/nginx/nginx.conf #可修改配置文件
4.安装rpcbind和nfs
yum install rpcbind nfs-utils -y #vim /etc/init.d/rpcbind 可以查看详细信息 ;说白了就是一个RPC服务,主要是在nfs共享时候负责通知客户端,服务器的nfs端口号的。简单理解rpc就是一个中介服务。
5.重点来了!!!安装完之后不要以为大功告成了,还有一些操作要做,不然后面的结果咋都出不来
systemctl stop firewalld.service #安装完nginx之后首先要做的就是先关闭防火墙的操作 nginx systemctl restart nginx #启动nginx nginx -s stop #停止nginx netstat -anpt | grep 80 #查看nginx的运行状态
这就是启动正常运行的状态。
6.实现集群搭建工作(由于本人电脑问题只能启用一个web端)
修改web端中nginx的配置文件
主要修改的地方也就是location的位置
location /{ root /var/www/index.html; index index.html; }
7.创建在网站上要展示的内容
就在网站上显示:wb1
vim /var/www/index.html #创建这个文件,在其中写入web1
8.在网站上输入此WEB1的IP就可显示想要显示的内容咯!
9.实现反向代理三个web服务
在服务端修改配置文件
1.在HTML中加上一下段落 HTML{ upstream Pythonweb{ server 192.168.205.129 weight = 3; #权重 server 192.168.205.129; server 192.168.205.129; #本人机器不求行,so就启动一个web } } 2.在location 中加入一段 location / { proxy_pass htpp://Pythonweb; }
在网站上输入此服务端的IP地址点刷新就可以了(本人机器的问题,只显示web1)
关于其余的调度算法有兴趣的可以参看:http://nginx.org/en/docs/http/load_balancing.html
1.2、所有web服务使用共享存储nfs,保证所有web都对其有读写权限,保证数据一致性;
1.2.1 建一个share目录
mkdir /share #创建一个目录 touch /share/share.txt #在share目录下创建一个share.txt文件 echo gongxing >/share/share.txt #在文件中写入内容gongxing vim /etc/exports #查看配置文件exports. 用户可以把需要共享的文件系统直接编辑到/etc/exports文件中,这样当NFS服务器重新启动时系统就会自动读取/etc/exports文件,从而告诉内核要输出的文件系统和相关的存取权限。在下面的例子中显示了/etc/exports文件中几个条目项的内容,被挂载在/pub目录下的文件系统具有只读访问权限,所有的计算机在访问文件系统的时候不必经过安全检查。
1.2.2 配置文件内容(/etc/exports)
/share 192.168.205.0/24(rw,sync,fsid=0)
1.2.3.启动服务
systemctl start rpcbind.service
systemctl start nfs-server.service
1.2.4查看各种信息
1.2.4.1 挂载信息
2.4.2挂载及其机器启动
1.2.4.3查看启动的状态
1.2.4.4 在web1段查看信息
可以了,目标达成,今天收工大吉!