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. PowerDesigner建模应用(二)逆向工程,导出PDM文件前过滤元数据(表、视图、存储过程等)

    在上一篇文章<PowerDesigner建模应用(一)逆向工程,配置数据源并导出PDM文件>步骤二中导出了目标数据库对应的PDM文件, 该文件中展示出了所有表的信息与关系. 某些业务场景下 ...

  2. 【js数据结构】栈解决括号不匹配问题

    栈可以用来判断一个算术表达式中的括号是否匹配. 思路:读取算术表达式,遇到左括号'{'.'['.'('压入栈,栈的特点是后入先出,所以当遇到右括号'}'.']'.')'的时候,取出栈顶元素,是否满足读 ...

  3. python+request接口自动化框架

    python+request接口自动化框架搭建 1.数据准备2.用python获取Excel文件中测试用例数据3.通过requests测试接口4.根据接口返回的code值和Excel对比 但本章只讲整 ...

  4. Kafka-4614问题复盘 (MappedByteBuffer未关闭导致慢磁盘访问)

    很早之前就想动笔就这个kafka bug总结一番了,只是这个问题既不是本人发现,也不是自己动手修复,终归是底气不足,故而一直耽搁下来.怎奈此问题实在是含金量十足,又恰逢最近有人询问Kafka 0.10 ...

  5. pg_config executable not found

    Error: pg_config executable not found. Please add the directory containing pg_config to the PATH or ...

  6. 使用Python对Access读写操作

    学习Python的过程中,我们会遇到Access的读写问题,这时我们可以利用win32.client模块的COM组件访问功能,通过ADODB操作Access的文件. 1.导入模块 import win ...

  7. JS调用WebService,发布到IIS,网页提示WebService未定义[已解决]

    VS2013中,JS调用WebService,一直运行正常.部署到WindowsServer2008之后,在网页中访问,始终提示网页中有错误,点开之后发现是WebService未定义. 于是上网查解决 ...

  8. .NET Core开源组件:后台任务利器之Hangfire

    一.简述 Hangfire作为一款高人气且容易上手的分布式后台执行服务,支持多种数据库.在.net core的环境中,由Core自带的DI管理着生命周期,免去了在NF4.X环境中配置always ru ...

  9. 记一次synchronized锁字符串引发的坑兼再谈Java字符串

    问题描述 业务有一个需求,我把问题描述一下: 通过代理IP访问国外某网站N,每个IP对应一个固定的网站N的COOKIE,COOKIE有失效时间.并发下,取IP是有一定策略的,取到IP之后拿IP对应的C ...

  10. NPM使用技巧

    如果你是一个JavaScript系的开发者,一定不会陌生NPM,它既是一个平台,也是一个工具.在这个平台上,我们能够使用其他开发者提供的功能代码,当然我们也能将我们自己代码提交到这里分享给世界上的开发 ...