00-1-Web架构全景与linux基础知识总结
2026/7/30 6:57:28 网站建设 项目流程

Web架构全景与linux基础知识总结

一、软件生命周期与运维价值

产品经理–(提需求)–开发工程师-(写代码)-测试工程师-(测试是否通过)-部署运维=(部署/反馈)=用户

QA(Quality Assurance)= 质量保证 SRE(Site Reliability Engineering)= 站点可靠性工程,是Google提出的运维方法论也是现代运维的发展向。本课程培养的核心目标就是SRE工程师。

1、系统的流程

用户沸羊羊:我有一个想法,我需要一个可以和美羊羊网页聊天软件,用户登录、添加好友、聊天、发送图片、打视频、转账等等 产品经理喜羊羊:好的好的,我写一个需求文档给我们开发看看。 开发工程师慢羊羊:天天写代发我真的是服了,这都是什么需求,又要加班...终于写完了开始编译打包。 测试工程师暖洋洋:来让我看看这个软件做的怎么样,这不行那不行需要重新修改修改 慢悠悠:我服了 改完通过测试后 运维工程师懒洋洋:部署服务器操作系统,长传软件包开始部署,JDK、mysql、redis缓存、按照软件包、配置域名和转发规则 沸羊羊:不错不错,我要和美羊羊聊天了 过几天 沸羊羊:这个打视频的时候会断网什么情况 懒洋洋:我先看看,这个代码有问题需要开发优化一下

运维的核心价值:把一份代码,变成一个7×24小时稳定、快速、可扩展的在线服务。

开发工程师负责 生孩子(写代码造功能)

运维工程师负责 养孩子(让系统健康稳定地运行

二、Web架构全景(宏观)

# 访问 www.baidu.com 完整全流程整体链路:浏览器本地缓存校验 → DNS解析 → TCP三次握手 → TLS加密握手 → HTTP请求发送 → 百度服务器处理返回HTML → TCP挥手释放连接 → 浏览器渲染百度首页## 一、用户操作 + 浏览器本地缓存检查行为:浏览器地址栏输入`www.baidu.com`按下回车1. 浏览器先查询**内存缓存(Memory Cache)**:短期缓存页面静态资源,无百度首页缓存;2. 查询**磁盘缓存(Disk Cache)**:本地硬盘历史缓存过期/不存在;3. 读取本机hosts文件(Windows`C:\Windows\System32\drivers\etc\hosts`/ Linux`/etc/hosts`),无`www.baidu.com`手动IP映射;4. 无本地缓存,触发DNS域名解析。## 二、DNS解析:把 www.baidu.com 转为百度服务器公网IP域名不能直接网络通信,分层递归+迭代查询1. **浏览器DNS缓存**:无该域名记录;2. **操作系统DNS缓存**(Windows`ipconfig /displaydns`/ Linux`/etc/resolv.conf`)无记录;3. 操作系统请求**本地DNS服务器**(运营商DNS 或 公共DNS223.5.5.5) - 本地DNS无缓存,发起迭代四层查询:1. 根服务器`.`:返回`.com`顶级域名服务器地址2. .com 顶级服务器:返回`baidu.com`权威DNS地址3. baidu.com 权威服务器:查询`www`子域名,返回百度CDN节点IP(如`180.101.49.11`4. 本地DNS把IP传回浏览器,并缓存域名-IP映射。## 三、TCP三次握手:和百度IP 443端口建立可靠连接HTTPS默认端口443(HTTP为80),操作系统发起TCP连接:1. 客户端(本机)→ 百度服务器:SYN包,seq=1000(请求建立连接)2. 百度服务器 → 本机:SYN+ACK包,ack=1001,seq=2000(同意建立)3. 本机 → 百度服务器:ACK包,ack=2001(确认就绪) TCP通道建立完成。## 四、TLS握手(HTTPS独有,百度全站加密)TCP通路就绪后,先协商加密通道,再传输网页数据:1. 客户端发送TLS版本、加密套件列表;2. 百度CDN服务器下发SSL证书(包含百度域名、公钥、CA机构签名);3. 浏览器校验证书:确认颁发机构可信、域名匹配、证书未过期;4. 浏览器生成随机预主密钥,用百度证书**公钥加密**发给服务端;5. 百度服务器用自身私钥解密,拿到预主密钥;6. 双方通过密钥生成对称加密密钥(AES),后续所有网页数据加密传输,防劫持、窃听。## 五、浏览器组装HTTPS请求,发送给百度服务器加密通道就绪,发送标准GET请求报文## 六、百度服务端分层处理请求,返回HTML响应百度后端分层:CDN节点 → Nginx反向代理 → 业务服务1. **CDN+Nginx** 用户访问的是百度全国CDN边缘节点,Nginx接收443请求,解密TLS,判断是首页静态页面; 无本地缓存则转发后端业务服务,有缓存直接返回页面; 实现负载均衡、拦截非法请求、防盗链。2. **百度业务服务** 拼接首页模板、填充热搜、导航栏、广告模块,生成完整百度首页HTML源码;3. 组装HTTP响应报文返回浏览器## 七、TCP四次挥手(页面数据传输完成)HTTP/1.1默认长连接,闲置一段时间后断开,四次挥手流程:1. 浏览器客户端发送FIN:不再发送数据2. 百度服务器返回ACK:收到关闭请求,传输剩余图片、JS资源3. 服务器数据发送完毕,发送FIN:服务端无数据4. 客户端返回ACK,TCP连接彻底释放

三、服务器核心部件

CPU:CPU负责执行所有计算。处理请求、MySQL执行查询都需要CPU 主频:主频越高处理数据越快 核心数:核心越多,同时处理的内容越多 线程数:一心多用 内存:CPU 运算时临时存放数据、程序的高速空间,断电数据全部丢失; 硬盘 / SSD 是永久存储,断电数据保留,速度远慢于内存。 作用:CPU 不能直接读写硬盘,所有正在运行的程序(浏览器、系统、服务器 Nginx)必须先加载进内存,CPU 才能快速读取运算。 磁盘:是持久化存储设备(外存),断电数据不会丢失,用来长期存放系统、软件、文件、日志、缓存、数据库数据。 CPU不能直接读取磁盘,数据必须先加载到内存 RAM 才能运算。 分为两大类:机械硬盘 HDD、固态硬盘 SSD 网卡:是主机和外部网络的唯一硬件出入口。 电脑 / 服务器 CPU、内存的数据,必须通过网卡转换成电信号 / 光信号,才能发给交换机、路由器、外网;外网数据也只能通过网卡流入本机。

四、Linux是什么

# Linux 发展史完整详解## 一、时代背景:1960–1980,Unix 前传(Linux 的源头根基)### 1. Multics 项目(1964)麻省理工MIT、贝尔实验室、通用电气联合开发**分时操作系统Multics**,目标是多用户同时使用大型机,但项目过于臃肿、进度缓慢,1969年贝尔实验室退出。 团队两名研究员:**肯·汤普森(Ken Thompson)、丹尼斯·里奇(Dennis Ritchie)** 留在实验室。### 2. Unix 诞生(1969)汤普森利用闲置小型机,基于Multics思路简化,写出简易操作系统,取名 **Unics(简化版Multics)**,后改名Unix。1972年丹尼斯·里奇发明**C语言**;1974年两人把Unix内核全部用C重写——**操作系统首次脱离汇编,具备跨硬件移植能力**,这是后世Linux能遍地开花的核心基础。### 3. Unix 商业化分裂(1970–1980)贝尔实验室隶属AT&T,早期免费对外发放Unix源码给高校,伯克利大学(UC Berkeley)基于Unix二次开发出 **BSD(Berkeley Software Distribution)**,增加TCP/IP网络、C Shell、vi等,现代网络系统基石。1983年美国反垄断法案拆分AT&T,AT&T开始**商业售卖Unix,封闭源码、收取高额授权费**:企业、高校想要使用Unix必须付费,源码不再公开,催生开源运动。### 4. GNU 计划(开源运动起点,1983)理查德·斯托曼(Richard Stallman)发起 **GNU项目**,口号:打造一套**完全自由、开源、可自由修改分发**的完整类Unix操作系统。 GNU陆续开发全套工具链:gcc编译器、bash shell、glibc标准库、gawk、emacs等,唯独缺少**操作系统内核**(GNU Hurd内核开发多年难产)。 斯托曼推出 **GPL开源协议**:核心规则——使用GPL代码衍生的软件,必须完整开源,禁止闭源商用捆绑。### 5. MINIX(教学微型Unix,1987)荷兰教授安德鲁·塔能鲍姆(Andrew Tanenbaum)为操作系统教学,编写微型类Unix内核MINIX,源码公开,但**禁止商用、限制修改分发**,且内核设计小巧简陋,不适合个人电脑日常使用。 当时PC主流系统:MS-DOS(单任务、闭源),没有廉价可用的类Unix系统,为Linux诞生埋下契机。## 二、Linux 诞生:1991,林纳斯·托瓦兹(Linus Torvalds)### 1. 个人动机芬兰赫尔辛基大学学生林纳斯,买不起商业Unix,MINIX又限制多,想在自家**Intel80386PC** 上搭建一套免费、完整的类Unix内核。### 2. 历史性邮件(1991.8.25)林纳斯在MINIX新闻组发布公开邮件,核心内容:>我正在做一个免费操作系统,只是业余爱好,不会像MINIX那样庞大,支持386硬件,任何人可以自由下载试用。### 3. 0.01版本发布(1991.9)发布Linux0.01,仅**8000行C代码**,只能在386架构运行,甚至不能独立启动,必须依托MINIX环境编译运行。 名称由来:Linus + Unix → Linux;吉祥物企鹅Tux,1996年正式确定。### 4. 结合GNU,完整操作系统成型Linux只是**内核**(管理硬件、进程、内存),缺少终端、编译器、工具。 林纳斯把Linux内核搭配GNU全套开源工具(gcc、bash、glibc),形成一套完整免费可用的类Unix系统。1992年,林纳斯将Linux内核协议改为 **GPLv2**:任何人可查看、修改、分发内核源码,修改后的衍生内核也必须开源,奠定Linux开源根基。### 5. 早期关键冲突:Linux vs MINIX(1992)教授塔能鲍姆公开批判Linux:内核是**单片内核**,架构落后,MINIX微内核才是未来;且Linux绑定x86硬件,移植性差。 这次论战极大提升Linux曝光度,全球程序员涌入社区,不断提交补丁、驱动、功能,快速迭代。## 三、高速发展期:1992–2000,发行版百花齐放、服务器崛起Linux内核本身只是内核,**发行版(Distribution)**=Linux内核 + GNU工具 + 软件包管理器 + 桌面环境 + 系统配置,各大团队打包成品系统对外分发。### 1. 经典早期发行版1. **Slackware(1993)** 最早成熟发行版,极简风格,至今仍维护,无依赖自动解决,手动管理软件包,代表纯粹老式Linux。2. **Debian(1993)** 全球志愿者社区开发,严格遵守GNU自由软件准则,dpkg包管理,稳定性极强。1994年Debian1.1发布,成为后世Ubuntu、Deepin、树莓派系统的母体。3. **Red Hat(红帽,1994)** 首个商业化Linux公司,创造RPM软件包格式,降低企业部署门槛。1998年推出 **Red Hat Enterprise Linux(RHEL)企业版**:付费订阅技术支持,面向服务器、企业市场,开创Linux商业化盈利模式。4. **SUSE(1994,德国)** 欧洲主流发行版,YaST图形化配置工具,适合桌面与服务器,后被Novell收购,如今有企业版SLES。### 2. 90年代重大里程碑1. **多架构支持**:早期仅x86,逐步支持Alpha、PowerPC、ARM,摆脱Intel绑定,可跑小型机、嵌入式设备。2. **网络能力完善**:完整集成TCP/IP,Web服务器Apache大量部署在Linux,90年代末互联网爆发,Linux凭借免费稳定取代昂贵商用Unix,成为网站服务器首选。3. **桌面环境诞生** - KDE(1998):Qt框架图形桌面 - GNOME(1999):GNU官方开源桌面,GTK框架 Linux不再只是服务器专用,开始具备PC桌面能力。4. **19992.2内核发布** 里程碑内核:支持SMP多处理器、超大内存、多种文件系统(ext2成熟)、大量硬件驱动,企业服务器大规模落地。### 3. 行业认可转折点(1998)IBM、Intel、Oracle、惠普等巨头公开支持Linux: - IBM投入数十亿美元适配服务器硬件、数据库适配Linux; - 数据库Oracle推出Linux版本; 商用Unix厂商(Solaris、AIX、HP-UX)市场份额开始萎缩。## 四、成熟稳定期:2000–2010,企业、嵌入式、服务器全面垄断### 1. 内核迭代:2.4 / 2.6 时代1. **Linux2.4(2001)** 完善USB设备、ISA/PCI硬件、ext3日志文件系统(解决断电文件损坏),服务器可靠性大幅提升。2. **Linux2.6(2003,跨10年长期版本)** 现代Linux核心内核: - 抢占式内核,低延迟,适配实时设备; - 完善内存管理、进程调度; - 全面支持ARM嵌入式架构; - udev硬件自动识别,热插拔;2.6持续更新至2011,支撑整个2000年代服务器、手机、嵌入式。### 2. 桌面发行版爆发1. **Ubuntu(2004,基于Debian)** 南非企业家马克·舍特尔沃斯创立Canonical公司,主打**简单易用、免费桌面**,半年一个版本,五年长期支持LTS。 大幅降低Linux使用门槛,普通个人用户大规模接触Linux,成为全球最流行桌面发行版。2. **CentOS(2004)** 社区将RHEL源码重新编译、去除商标,免费发布,完全兼容RHEL,中小企业服务器首选免费系统。3. 其他分支:Fedora(红帽社区测试版)、Mint(基于Ubuntu轻量化桌面)。### 3. 嵌入式领域全面占领(2003–2010)Linux轻量、开源、裁剪灵活,彻底统治嵌入式市场:1. **Android(2008)** Google基于Linux2.6内核开发安卓系统,智能手机全球普及,Linux借手机走进数十亿普通人;2. 路由器(OpenWrt)、智能家电、机顶盒、工控机、车载系统全部采用Linux;3. 树莓派雏形、ARM开发板兴起。### 4. 服务器与云计算萌芽- Web、数据库、缓存服务器90%以上部署Linux; - 虚拟化成熟:KVM原生集成Linux内核,Xen广泛使用; - 亚马逊AWS早期云服务器全系Linux,云计算底层根基确立。### 5. 商业化格局定型- 企业付费:RHEL、SLES商业订阅服务; - 免费服务器:CentOS、Debian Stable; - 个人桌面:Ubuntu、Mint; - 嵌入式定制:厂商基于内核自行裁剪。## 五、云与国产崛起:2010–2020,容器、国产操作系统、云原生时代### 1. 内核主线升级:3.x → 4.x- Linux3.0(2011):版本号简化,去除冗长2.6前缀; -4.x系列(2015–2019):完善cgroup、namespace,为容器底层提供原生支持;NVMe固态硬盘、新型硬件驱动全面适配;Btrfs文件系统完善。### 2. 容器革命:Docker + Kubernetes(底层全靠Linux)Linux内核自带的 **Namespace(资源隔离)、Cgroup(资源限制)、UnionFS** 是容器技术唯一底层支撑。2013年Docker发布,2015年K8s诞生,全球云计算、微服务全部基于Linux,Windows服务器份额持续下滑。### 3. 国产Linux操作系统高速发展国内出于信息安全、自主可控需求,基于Debian/RHEL二次开发自研发行版:1. **麒麟操作系统(Kylin)** 国防科大起步,分为服务器版、桌面版**银河麒麟V10**,适配鲲鹏ARM/x86,党政、医疗、政务、机房主力国产系统;2. **统信UOS(Deepin)** 深度桌面,美观易用,面向个人、政企替换Windows;3. 其他:欧拉OpenEuler(华为服务器内核)、龙蜥Anolis(阿里云服务器)、龙梦、普华等。 全部基于Linux内核,适配国产鲲鹏、飞腾、龙芯CPU。### 4. 超算领域绝对垄断全球TOP500超级计算机,99%运行Linux,气象、航天、核能、AI算力集群全部依赖Linux。## 六、现代Linux:2020–至今(5.x / 6.x内核,AI算力、全场景统一)### 1. 内核迭代 5.x → 6.x- Linux5.0(2019):完善ARM64架构、实时调度、内存优化; -5.x系列新增:io_uring高速异步IO(大幅提升数据库、存储性能)、内置exFAT文件系统、硬件安全模块; - Linux6.x(2023至今):当前稳定主线,强化GPU调度、AI算力调度、内存透明巨页、云原生隔离优化,专门适配NVIDIA、国产GPU算力服务器。### 2. AI算力基础设施基石大模型训练、推理服务器底层100% Linux: - 主流发行版:Ubuntu Server、CentOS Stream、OpenEuler、RHEL; - 内核优化GPU显存调度、多卡通信,CUDA、ROCm显卡驱动深度适配Linux。### 3. 全新服务器发行版CentOS8停止维护(2021),替代方案: - CentOS Stream(红帽上游测试版); - Rocky Linux、AlmaLinux(社区免费兼容RHEL); - 华为OpenEuler、阿里Anolis(云厂商自研服务器系统)。### 4. 全场景覆盖现状(2026现状)1. **服务器/云/超算**:垄断市场;2. **移动端**:Android(Linux内核)占据手机市场;3. **嵌入式**:路由器、工控、汽车、智能家居、智能穿戴;4. **桌面**:Ubuntu、统信UOS、麒麟桌面、Fedora;5. **物联网、边缘计算**:轻量Linux(Yocto、OpenWrt);6. **国产信创体系**:党政、医院、国企替换Windows的核心操作系统。## 七、Linux 核心社区与治理模式(贯穿全程的核心优势)1. **创始人终身维护**:林纳斯·托瓦兹始终是内核主线维护者,掌握主干代码合并权限;2. **分层维护体系**:子系统维护者(网络、存储、ARM、驱动)分层管理补丁,全球数千开发者协作;3. **完全开源透明**:所有内核开发邮件列表公开,任何人可提交补丁;4. **无单一厂商控制**:红帽、华为、Intel、谷歌、阿里等企业均雇佣程序员提交内核代码,但无法垄断内核,社区主导发展,避免闭源系统厂商锁死用户。## 八、总结Linux成功的核心原因1. **开源GPL协议**:允许免费使用、修改、分发,企业零授权成本;2. **C语言编写+模块化**:跨x86/ARM/RISC-V等所有硬件架构;3. **社区协同开发**:全球厂商、志愿者持续迭代,漏洞修复速度远超闭源系统;4. **轻量化可裁剪**:可跑手机、单片机,也可支撑超算、万卡AI集群;5. **无厂商绑定**:没有单一公司垄断,政企不用担心停服、涨价锁死;6. **生态完整**:网络、存储、虚拟化、容器、数据库、AI软件全栈适配。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询