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段查看信息

可以了,目标达成,今天收工大吉!

Linux基础(4)的更多相关文章

  1. Linux基础练习题(二)

    Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...

  2. 大数据每日干货第四天(linux基础之一目录结构与常用命令)

           为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...

  3. Linux课程实践一:Linux基础实践(SSH)

    一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...

  4. 还是不想改报告,伊阿忆啊哟-Linux基础继续

    hi 虽然今天是最最美好的周六(前不着工作日后不着工作日),但老子还要来改报告,但额就是不想改,你拿我有啥办法啊... 争取完结Linux基础 一.Linux常用命令(三) 4.帮助命令 4.1 帮助 ...

  5. 原来今天是感恩节-Linux基础继续&MySQL和PHP

    hi 原来今天是感恩节.虽然一直没有过这个节日的习惯,但仅仅是听到感恩的消息,都能想到一幅幅画面.愿大家安好! 下午开题会议还是有所收获,悄悄的,就变向那个不喜欢自己的人了. 一.Linux基础(二) ...

  6. 买错的电影票,含着泪也得看-LAMP搭建&Linux基础

    hi 没说过,上周五室友过生请客,在龙湖里吃嗨了喝爽了,回去的路上侃侃而谈.说好的这周一起去看年内最后的大片,火星救援的,谁知道老子眼神不好,买错了电影的时间...把周六的约定提前到了今儿个下午,ma ...

  7. Linux基础3(文件权限)

    文件权限 1.普通权限 (登陆用户对文件或目录的读写执行的权限) 普通权限对管理员用户无效 文件和目录 都有4中类型的用户u 所有者 : 文件.目录的创建者g 所属组 : 文件.目录属于的用户组o 其 ...

  8. Linux课程实践一:Linux基础实践(基础操作)

    一.软件源维护 1. 基本操作 (1)查看源列表 sudo vim /etc/apt/sources.list deb:二进制软件安装包 deb-src:源码包 (2)备份软件源列表 sudo cp ...

  9. 实践一:Linux基础实践

    一.Linux基础实践 1.1 1. 掌握软件源的维护方法,配置系统使用软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法. 这部分内容在许多学长学姐的报告里都有很详细的讲解,我在此就不赘述 ...

  10. Linux基础精华

    Linux基础精华 (继续跟新中...) 常用命令: Linux shell 环境 让你提升命令行效 率的 Bash 快捷键 [完整版] 设置你自己的liux alias Linux的Find使用 L ...

随机推荐

  1. Spring Boot启动过程(四):Spring Boot内嵌Tomcat启动

    之前在Spring Boot启动过程(二)提到过createEmbeddedServletContainer创建了内嵌的Servlet容器,我用的是默认的Tomcat. private void cr ...

  2. 微信开发模式 api 接口文档简介

    微信公众平台分为订阅号和服务号,服务号提供9大接口,需要通过微信认证后才能使用这些接口.认证费用300元.下面是接口的大致介绍: 1. 语音识别:通过语音识别接口,用户发送的语音,将会同时给出语音识别 ...

  3. 一个web应用的诞生(8)--博文发布

    这个系统一直号称轻博客,但貌似博客的功能还没有实现,这一章将简单的实现一个博客功能,首先,当然是为数据库创建一个博文表(models\post.py): from .. import db from ...

  4. (20)IO流之SequenceInputStream 序列流

    序列流,对多个流进行合并. SequenceInputStream 表示其他输入流的逻辑串联.它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直 ...

  5. 解锁redis锁的正确姿势

    解锁redis锁的正确姿势 redis是php的好朋友,在php写业务过程中,有时候会使用到锁的概念,同时只能有一个人可以操作某个行为.这个时候我们就要用到锁.锁的方式有好几种,php不能在内存中用锁 ...

  6. mac环境下安装xampp

    首先下载XAMPP,然后配置虚拟域名hosts,再配置Apache服务, 配置Apache服务 1.打开/Applications/XAMPP/xamppfiles/etc/httpd.conf文件, ...

  7. windows系统解决github.com访问超时

    当github无法访问时,可以尝试在hosts文件中添加下面的内容 windows:c:\windows\system32\drivers\etc 192.30.252.131 https://git ...

  8. 关于binary log那些事——认真码了好长一篇

    本文介绍binlog的作用以及几个重要参数的使用方法,同时通过实验来描述binlog内部记录内容:row .statement跟mixed的设置下,记录了哪些东西,最后会简单介绍下binlog ser ...

  9. 在ExpressJS中设置二级域名跨域共享Cookie

    问题:我使用expressjs和mongostore来管理session.下面是expressjs中的设置. app.configure(function(){ app.use(express.ses ...

  10. JAVA-实例方法被覆盖,静态方法被隐藏Explain

    被覆盖比较好理解,类似于多态的实现. 被隐藏是指静态方法的访问是根据当前对象的表面类型来决定的,比如 Supers = new Sub(); s.greeting()访问的是Super的静态方法,如果 ...