linux day31(期中架构,重点)
期中架构
运维主要就是搭环境,期中架构只要学会了,就形成了一个自己的运维体系,主要学习了一种思想,后面都是依赖期中架构,期中架构学好,后面轻松,期中架构学不好,后面都是蒙的,起到承上启下的作用。
一,名词的介绍(期中架构中的名词)
1,项目:手机app,每一个app就是一个项目,针对互联网行业,一家电商公司就是一个项目。
2,架构:维护一个项目所有的组件组成的一个整体
lnmp:linux nginx mysql php (期中架构部署的就是这种)因为首先用的服务器基本都是linux系统,nginx(web服务器,更好的展示数据),mysql(数据库,存储数据),php(将数据库里的数据读出来,并稍微处理一下,以后nginx拿来进一步处理,展示出出来)。下面的类型一一对应。
lamp:linux Apache MySQL php
lnmt:linux nginx MySQL Tomcat
lamt:linux Apache MySQL Tomcat
除了上面的核心基础以外,还有很多服务器:缓存,ELK,大数据。(可以让上面的框架更健康,更完整的,可以更好的运行,锦上添花的作用)
3,集群:多台服务器组成在一起,实现同样的工作,系统处理问题的能力性能更强,同时当一台服务出现问题,其他的可以正常使用,从而防止单点故障。
4,负载均衡:将用户的请求,平均分配给后端服务器,不然有的服务器很忙,有的很闲,浪费资源,降低了效率。
5,高可用:当一台服务器不可用,另一台服务器自动接管工作,保证业务可用性。为了保证服务器可以一直提供服务。
二,企业人员结构模型(酒店)
三,架构图
根据迎宾流程画一下企业的项目
小汽车:相当于用户访问,请求。
保安:相当于防火墙(防止恶意进入)
接待,引路:负载均衡(把用户请求均匀的分配给服务器,防止一些服务器很忙,一些很闲,浪费资源,从而效率降低。)
迎宾:web服务
备用菜:缓冲带(厨师做慢,也有可能忙不过来,所以提前准备的,经常点的菜,厨师提前做出来些。必须厨师做的,厨师后面再做)
厨师做菜:数据库(并不是所有的数据都存在数据库内,进程的数据,静态资源,图片,下载的安装包,不能放数据库内。)
吧台:存放图片/文件等二进制数据。
管理:跳板机,通过这个机器访问所有的服务器,不然安全风险高,现在只需要把跳板机安全做好就行。
监控:监控各个机器是否有问题。
仓库:厨师做的菜,吧台里的酒都存放在仓库里面。
根据这个图,分析各个部分需要安装的软件
防火墙下载的软件:friewalld或者iptables,现在学习friewalld,学这个第二个就通了,而且相对简单。第二个上来学,容易蒙。
负载均衡:硬件负载均衡:F5,软件负载均衡:LVS/nginx(nginx是重点,公司用的多,功能非常强大。),高可用:keeplived(kp赖ve的,翻译:保持活着)
web服务:nginx/php
缓冲带(缓存):Redis(瑞迪斯,翻译雷迪幼虫)
数据库:Mysql/Orcle
静态文件:NFS,因为NFS简单
跳板机:jumpserver
监控:普罗米修斯
仓库:Rsync备份服务器,为了安全,数据比较重要需要备份。
接下来,就是把这个架构图实现。
首先搞好仓库Rsync,因为前面访问,就需要存数据,如果仓库都没搞好,数据没地方存,前面一直报错,所以从后面往前搭,然后静态文件nfs,数据库Mysql,缓冲带Redis,web服务,负载均衡,防火墙,然后监控,因为监控需要监控一个整体,跳板机放最后,还有一个Ansible,是一个自动化部署脚本,把集群讲完后,用Ansible一键把集群搭起来。
四,用户访问流程
1.⽤户输⼊域名
2.DNS服务器解析域名返回IP给⽤户
3.发送数据包⾄交换机
4.交换机转发数据包⾄路由器
5.路由器转发数据⾄防⽕墙
6.防⽕墙识别⽤户请求
7.防⽕墙转发数据⾄负载均衡.
8负载均衡分发请求⾄web服务器
9.web服务器判断如果是静态请求,web服务器会去nfs⽂件服务器获取⽂件
10.web服务器判断如果是动态请求,web服务器会去缓存读取数据
11.请求缓存服务器没有需要的内容,再请求数据库服务器