Linux基础(4)
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)的更多相关文章
- Linux基础练习题(二)
Linux基础练习题(二) 1.复制/etc/skel目录为/home/tuer1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限. [root@www ~]# cp -r ...
- 大数据每日干货第四天(linux基础之一目录结构与常用命令)
为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...
- Linux课程实践一:Linux基础实践(SSH)
一.SSH服务 1. 安装SSH (1)查看是否已经安装过ssh服务 rpm -qa |grep ssh (2)进行安装 sudo apt-get install openssh-server Ubu ...
- 还是不想改报告,伊阿忆啊哟-Linux基础继续
hi 虽然今天是最最美好的周六(前不着工作日后不着工作日),但老子还要来改报告,但额就是不想改,你拿我有啥办法啊... 争取完结Linux基础 一.Linux常用命令(三) 4.帮助命令 4.1 帮助 ...
- 原来今天是感恩节-Linux基础继续&MySQL和PHP
hi 原来今天是感恩节.虽然一直没有过这个节日的习惯,但仅仅是听到感恩的消息,都能想到一幅幅画面.愿大家安好! 下午开题会议还是有所收获,悄悄的,就变向那个不喜欢自己的人了. 一.Linux基础(二) ...
- 买错的电影票,含着泪也得看-LAMP搭建&Linux基础
hi 没说过,上周五室友过生请客,在龙湖里吃嗨了喝爽了,回去的路上侃侃而谈.说好的这周一起去看年内最后的大片,火星救援的,谁知道老子眼神不好,买错了电影的时间...把周六的约定提前到了今儿个下午,ma ...
- Linux基础3(文件权限)
文件权限 1.普通权限 (登陆用户对文件或目录的读写执行的权限) 普通权限对管理员用户无效 文件和目录 都有4中类型的用户u 所有者 : 文件.目录的创建者g 所属组 : 文件.目录属于的用户组o 其 ...
- Linux课程实践一:Linux基础实践(基础操作)
一.软件源维护 1. 基本操作 (1)查看源列表 sudo vim /etc/apt/sources.list deb:二进制软件安装包 deb-src:源码包 (2)备份软件源列表 sudo cp ...
- 实践一:Linux基础实践
一.Linux基础实践 1.1 1. 掌握软件源的维护方法,配置系统使用软件源镜像.掌握通过软件源来查找,安装,卸载,更新软件的方法. 这部分内容在许多学长学姐的报告里都有很详细的讲解,我在此就不赘述 ...
- Linux基础精华
Linux基础精华 (继续跟新中...) 常用命令: Linux shell 环境 让你提升命令行效 率的 Bash 快捷键 [完整版] 设置你自己的liux alias Linux的Find使用 L ...
随机推荐
- PowerDesigner建模应用(二)逆向工程,导出PDM文件前过滤元数据(表、视图、存储过程等)
在上一篇文章<PowerDesigner建模应用(一)逆向工程,配置数据源并导出PDM文件>步骤二中导出了目标数据库对应的PDM文件, 该文件中展示出了所有表的信息与关系. 某些业务场景下 ...
- 【js数据结构】栈解决括号不匹配问题
栈可以用来判断一个算术表达式中的括号是否匹配. 思路:读取算术表达式,遇到左括号'{'.'['.'('压入栈,栈的特点是后入先出,所以当遇到右括号'}'.']'.')'的时候,取出栈顶元素,是否满足读 ...
- python+request接口自动化框架
python+request接口自动化框架搭建 1.数据准备2.用python获取Excel文件中测试用例数据3.通过requests测试接口4.根据接口返回的code值和Excel对比 但本章只讲整 ...
- Kafka-4614问题复盘 (MappedByteBuffer未关闭导致慢磁盘访问)
很早之前就想动笔就这个kafka bug总结一番了,只是这个问题既不是本人发现,也不是自己动手修复,终归是底气不足,故而一直耽搁下来.怎奈此问题实在是含金量十足,又恰逢最近有人询问Kafka 0.10 ...
- pg_config executable not found
Error: pg_config executable not found. Please add the directory containing pg_config to the PATH or ...
- 使用Python对Access读写操作
学习Python的过程中,我们会遇到Access的读写问题,这时我们可以利用win32.client模块的COM组件访问功能,通过ADODB操作Access的文件. 1.导入模块 import win ...
- JS调用WebService,发布到IIS,网页提示WebService未定义[已解决]
VS2013中,JS调用WebService,一直运行正常.部署到WindowsServer2008之后,在网页中访问,始终提示网页中有错误,点开之后发现是WebService未定义. 于是上网查解决 ...
- .NET Core开源组件:后台任务利器之Hangfire
一.简述 Hangfire作为一款高人气且容易上手的分布式后台执行服务,支持多种数据库.在.net core的环境中,由Core自带的DI管理着生命周期,免去了在NF4.X环境中配置always ru ...
- 记一次synchronized锁字符串引发的坑兼再谈Java字符串
问题描述 业务有一个需求,我把问题描述一下: 通过代理IP访问国外某网站N,每个IP对应一个固定的网站N的COOKIE,COOKIE有失效时间.并发下,取IP是有一定策略的,取到IP之后拿IP对应的C ...
- NPM使用技巧
如果你是一个JavaScript系的开发者,一定不会陌生NPM,它既是一个平台,也是一个工具.在这个平台上,我们能够使用其他开发者提供的功能代码,当然我们也能将我们自己代码提交到这里分享给世界上的开发 ...