老男孩配置架构指南

架构名词介绍

1.什么是项目, 类似于手机的app,每一个app都可以算做一个项目。
2.什么是架构, 维护一个项目使用的一组服务器。
3.什么是集群, 为解决某个特定问题将多台计算机组合起来形成的单个系统。
4.什么是高可用, 当一台服务器不可用,另一台服务器自动接管,保证业务不down机。
5.什么是负载均衡,将用户的请求,分摊到多个操作单元上执行,保证服务器的稳定性。

架构访问流程-用户视角

1.用户通过浏览器输入oldboyedu.com->回车
2.浏览器会发生一次跳转,分析URL->然后进行DNS解析->获取真实的公网IP地址
3.用户通过tcp的三次握手发起连接->真实的公网IP
4.连接会通过公网->路由器->交换机->抵达前端的硬件防火墙
5.防火墙根据自身访问规则,进行匹配->如果恶意的连接则拒绝->如果是正常的连接则放行
6.防火墙会将连接转发给负载均衡器->查看用户请求的内容->根据内容进行任务下发->下发给web服务器
7.web服务接收请求后会根据请求进行判断
如果是请求图片或者附件->查找存储服务器存储的静态资源
如果请求的网站上的内容->缓存服务器->如果缓存服务器没有->数据库
数据库查询完数据之后会返回数据给web服务器->同时也会返回一份给缓存服务器
8.数据库返回内容->web服务器->负载均衡->用户

架构访问流程-运维视角

1.用户通过公网连接(隧道)VPN服务器,这样方便管理内部主机,
2.自动化配置管理,节省人力成本,便于后期维护。统一环境,标准化
3.自动化监控服务,监控系统的运行状态,事前预警,事后追溯。
总结:
一个项目涵盖了一套架构,一套架构又涵盖了不同的角色(高可用、负载均衡、web集群)
五层架构模型–> 负载均衡 web服务 存储服务 缓存服务 数据库服务(通过tcp连接)

架构如何演变-服务器架构扩展

横向扩展也叫水平扩展,用更多的节点支撑更大量的请求。 如成千上万的蚂蚁完成一项搬运工作
纵向扩展又叫垂直扩展,扩展一个点的能力支撑更大的请求。如蜘蛛侠逼停火车

架构图


一.环境思路准备:

8台服务器 。一台备份服务器backup 一台nfs服务器,两台web网页服务器,
一台数据库db服务器,两天lb服务区,一台m服务
我们通过创建一台模板虚拟机,进行一台一台克隆的方式,搭建架构环境。

二 .基础环境准备

1.安装全新Centos7系统,配置网卡为eth0及eth1命名模式 200
第一块网卡为NAT模式[公网环境],配置的网段为10.0.0.0网段
第二块网卡为LAN模式[私网环境],配置的网段为172.16.1.0网段
2.优化安装好的Centos7虚拟机,安装常用软件、关闭防火墙等等
3.优化步骤
#1.配置yum仓库

rm -f /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

#2.安装基础软件包

yum -y install vim bash-completion telnet tree lrzsz wget net-tools epel-release  unzip  glances iftop net-tools vim htop gcc gcc-c++ glibc iotop sl nmap nc psmisc dos2unix bash-completion-extra sysstat rsync nfs-utils httpd-tools

#3.关闭防火墙firewalld

systemctl disable firewalld
systemctl stop firewalld

#4.关闭selinux

sed -i ‘/^SELINUX=/c SELINUX=disabled’ /etc/selinux/config

#5.调整单个进程最大能打开文件的数量

echo ‘* - nofile 65535’ >>     /etc/security/limits.conf

4…基于优化后的虚拟机进行克隆

1.连接克隆(需要依赖于母体)
2.完整克隆(完完全全的复制一份,占用磁盘空间)

5.对新克隆后的主机进行如下操作:
#1.修改主机名

 hostnamectl  set-hostname backup(主机名称)

#2.修改IP地址 (两种方法)

第一种方法:sed -i  ‘s#200#41#g’ /etc/sysconfig/network-scripts/ifcfg-eth[01]
第二种方法:nmcli connection modify eth0 ipv4.addresses 10.0.0.200/24
nmcli connection modify eth1 ipv4.addresses 172.16.1.200/24
nmcli命令生效:nmcli connection down eth0 ; nmcli connection up eth0

#3.重启服务器
6.创建xshell标签-------->>>>>测试连接服务器是否成功

三.网络规划

节点(主机名) 外网eth0(ip) 内网eth1(ip)
模板机 10.0.0.200 172.16.1.200
backup 10.0.0.41 172.16.1.41
nfs01 10.0.0.31 172.16.1.31
web01 10.0.0.7 172.16.1.7
web02 10.0.0.8 172.16.1.8
db01 10.0.0.51 172.16.1.51
lb01 10.0.0.5 172.16.1.5
lb02 10.0.0.6 172.16.1.6
m01 10.0.0.61 172.16.1.61

四.开始安装实验

我们先创建一个虚拟机(模板机器)

✨模板机的创建步骤

老男孩基础搭建环境指南1.0相关推荐

  1. day01 计算机基础和环境搭建

    day01 计算机基础和环境搭建 课程目标:让大家了解计算机基础知识并完成python的环境搭建 课程概要: 计算机基础 编程的本质 python的介绍 python环境的搭建 1.计算机基础 1.1 ...

  2. 域渗透基础之环境搭建(单域到组件域林)

    转发:https://www.e-learn.cn/content/qita/2484245 之前练习域渗透的环境被我弄丢了 重新搭建一个完整的域环境吧. 域渗透的基础还是环境的搭建,单域到域树再到域 ...

  3. Redis之Redis基础、环境搭建、主从切换

    Redis基础.环境搭建.主从切换 一.Redis简介 1.引入NoSQL的背景 2.Redis简介 二.环境部署 1.server1源码安装redis,并创建redis实例 2.server2主机, ...

  4. Java从入门到实战总结-1.1、Java基础之环境搭建和eclipse安装

    Java从入门到实战总结-1.1.Java基础之环境搭建和eclipse安装 文章目录 Java从入门到实战总结-1.1.Java基础之环境搭建和eclipse安装 1.Hello Java 1.1. ...

  5. Pytorch深度学习实战教程(一):语义分割基础与环境搭建

    Pytorch的基本使用&&语义分割算法讲解 先从最简单的语义分割基础与开发环境搭建开始讲解. 二.语义分割 语义分割是什么? 语义分割(semantic segmentation) ...

  6. 1 计算机基础和环境搭建

    二刷路飞学院的Python全栈开发 此课程是在2018年购买的,并在2019年下半年,学完了8章内容,并且让我成功跳槽找到了更好的工作,虽然现在已经又换了一家工作.但是,这个课程是让我全面的学习了Py ...

  7. 0基础搭建Prometheus+Grafana监控服务器CPU、磁盘、内存等信息

    这里写自定义目录标题 0基础搭建Prometheus+Grafana监控服务器CPU.磁盘.内存等信息 1.实验环境准备 2.基础环境配置 3.部署prometheus 4.部署Grafana可视化图 ...

  8. Pytorch深度学习实战教程:语义分割基础与环境搭建

    一.前言 许久没有更新技术博文了,给自己挖一个新坑:语义分割系列文章. 该系列文章的内容有: Pytorch的基本使用 语义分割算法讲解 先从最简单的语义分割基础与开发环境搭建开始讲解. 二.语义分割 ...

  9. 《高效玩转 vscode》- 1:基础编程环境搭建

    vscode 基础编程环境搭建 一.配置C/C++环境 1.下载minGW 2.下载vscode 3.配置clang-format 默认配置 自定义配置 注意 我的 .clang-format 配置 ...

最新文章

  1. mysql取最接近的两个值_Mysql:获取一行中另一个字段的最高值和最...
  2. 深入理解js的执行机制
  3. css3 渐变、蒙版
  4. STM32开发 -- UTC、UNIX时间戳、北京时间之间的转换
  5. ASP存储过程参数数据类型
  6. mysql row_id为什么是6字节?为什么是8字节
  7. getBoundingClientRect说明
  8. Java参数传递笔记
  9. 持续集成框架,自动部署服务搭建jenkins+maven+svn(git)+shell
  10. Cannot modify the value of a static config: spark.sql.queryExecutionListeners
  11. pytorch实战从入门到精通第三部分——数据处理
  12. spark学习 小汇集
  13. [转]Windows 下 Apache Virtual hosts 简单配置
  14. FTP在资源管理器里打不开
  15. 微信小程序自定义省市区下拉框
  16. IJCAI TEXT PAPERS
  17. 降本增效的革命性工具: Share Creators 数字资产管理利器
  18. flush()的作用
  19. 链接脚本中 text、data、bss、rodata 段含义
  20. 以太坊数据上链和展示智能合约

热门文章

  1. android八股文
  2. C# %253A%252F%252F 咋编码
  3. C/c++中内存拷贝函数memcpy详解
  4. springBoot学习(二)配置环境动态切换和部分注解的运用
  5. ADT for Eclipse
  6. java switch基础介绍及具体使用方法
  7. uniapp 手机端时禁止输入框弹出键盘,使用自定义键盘
  8. 如何利用阿里云进行创建属于自己的网站
  9. 第5-6周-实验作业-串口通信小试
  10. alpine安装及使用