阶段一:运维基本导论与Linux系统部署
1. Linux云计算运维基本导论
1.1 运维基本概述
运维是指通过专业技术手段,确保企业的IT系统和网络持续、安全、稳定运行,保障业务的连续性。运维涵盖计算机网络、应用系统、硬件环境和服务流程的综合管理。

实际工作中,运维主要在做什么呢?
1. 系统监控与维护: 使用监控工具(如 Zabbix、Nagios、Prometheus)对服务器、网络设备等进行实时监控,确保系统的稳定运行。 2. 故障排查与处理: 当出现硬件故障、网络故障、系统崩溃等问题时,快速响应,进行故障排查和恢复。 3. 自动化运维: 使用 Bash、Python、Ansible、SaltStack 等工具编写自动化脚本,简化日常的运维工作,提升效率 4. 系统部署与更新: 根据业务需求,进行操作系统、数据库、应用服务等软件的安装、配置和升级 5. 备份与恢复: 确保定期对关键数据进行备份,设置自动化备份方案 6. 安全管理: 及时关注系统和应用的安全漏洞,安装补丁和修复漏洞。

1.2 云计算基本概述
云计算是一种通过网络提供可扩展、虚拟化的计算资源和服务,用户按需获取并付费使用的新型计算模式。

从企业角度, 只需要按需购买资源即可, 无需自己建立机房,优势: 节省成本、安全更有保障、临时扩容方便
云计算三种服务形式:
- 公有云:
- 公有云是由第三方云服务提供商拥有和运营的,用户可以通过互联网访问。
- 公有云的成本较低,适合按需付费,适用于中小企业和初创公司。
- 公有云的优势包括高可用性、可扩展性和灵活性,但缺点是安全性较低,可能无法满足特定的安全合规要求。
- 私有云:
- 私有云是为单个企业或组织专门构建的,资源和数据都在私有网络中。
- 私有云提供高安全性和数据隐私保护,适合对数据安全和合规性要求高的企业。
- 私有云的成本较高,但提供了更高的灵活性和定制化服务。
- 混合云
- 混合云是公有云和私有云的结合,可以根据需要灵活地在两种环境中切换。
- 混合云提供了成本效益、安全性和灵活性的平衡,适用于需要同时利用公有云和私有云优势的企业。
- 混合云的缺点是管理和维护复杂,需要跨云平台的协调和管理。

1.3 运维中涉及的基础名词
- 服务器: 就是给用户提供服务的机器(电脑)。服务器可以分为四大类:塔式服务器、机式服务器、刀片服务器、柜式服务器。

思考:普通台式机/笔记本能否充当服务器来使用?
从提供服务的实现角度来考虑的话的确是可以
但如果要想稳定、高效的提供服务,则在这个角度考虑家用电脑和笔记就无法取代服务器地位。
家用台式机/笔记本从系统角度来看,一般都会使用Windows 系统(易用),并不适合作为服务器来使用。
家用台式机/笔记本硬件和专门的服务器相比标准不统一
- IP地址: IP是Internet Protocol(互联网协议)的简称,它用于确保不同设备在网络中能够识别彼此并交换数据。
- 常见的IP形式有二个:IPV4、IPV6
IPV4:
格式: x.x.x.x x的取值范围(第一位x取值1-223,从第二位开始0-255)
IP可以分为公网/外网ip和私网/内网ip
公网/外网IP: IP 是全球唯一的,可以在任何地方直接访问到该地址
私网/内网ip: 局域网内使用的地址,不能直接通过互联网访问,目的是为了内部网络的设备进行通信
IPV6:
由8个16位的十六进制数组成,每组数字之间用冒号分隔。
如:2001:0db8:85a3:0000:0000:8a2e:0370:7334
目前市场上,主要还是IPV4为主,IPV6为辅助.
需要注意的是,IP需要确保在对应网络范围内唯一注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
1.4 服务器重要结构组成
组成部分: 主板、CPU、内存条、显卡、硬盘、电源、风扇、网卡、显示器【可选】、键盘鼠标【可选】等等。

1.5 企业运行模式
1.5.1 IT三大角色
产品、研发、运维
流程走向:产品设计 → 项目研发 → 项目测试 → 项目上线 → 系统运维

研发 = 前端(HTML+CSS+JavaScript) + 后端(Java/Python/Go)
运维:产品上线、后期的运行与维护工作都属于运维工程师范畴
1.5.2 上线与生产
在企业中, 成熟的系统环境主要包括有以下四项:
- 开发环境:开发人员进行代码编写、调试和初步测试的环境,通常与其他环境隔离
- 一般是由开发团队人员部署, 运维只需要提供服务器即可 (内网环境, 对外无法访问)
- 测试环境:用于执行各种软件测试,包括单元测试、集成测试和系统测试等; 通常模拟生产环境,确保软件在正式发布之前能够正常运行。测试环境需要与开发环境相对独立,以保证测试结果的准确性。
- 运维或者开发团队都有可能进行部署, 内网环境, 对外无法访问,
- 准生产环境:准生产环境是生产环境的镜像,但没有实际的业务负载。在准生产环境中,团队会进行预发布的测试,检查是否存在潜在问题,并确保所有功能在与生产环境相似的条件下正常工作。这个环境可以看作是一个 “最终检查” 站。
- 部分的企业可能不存在, 只要一些特殊的情况可能才有, 和生产环境是保持统一的
- 一般是由运维人员完成部署
- 生产环境:生产环境是用户和客户直接交互的环境,所有真实的业务操作和数据处理都发生在此。生产环境通常要求非常高的稳定性、性能和安全性,任何在此环境中的错误都会影响到终端用户,因此需要经过严格的测试与验证。
- 一般是由运维人员完成部署
对于运维人员, 生产环境是运维人员工作的核心, 它直接关系到企业的业务和客户的体验, 稳定性、可用性和安全性是运维的首个任务
上线: 发布项目的过程,包含准生产上线,生产上线等。内测/公测 → 开服
生产: 正式提供对外服务的环境,叫生产环境,需要运维重点关注
在项目的从无到有的过程中,可以将其分为两个阶段:研发/测试阶段、生产运行阶段。
运维工作贯穿了开发,测试,生产的各个阶段,是其中重要的一环。
1.5.3 企业网站运行原理
简单地说,网站是一种沟通工具,人们可以通过网站来发布自己想要公开的资讯,或者利用网站来提供相关的网络服务。人们可以通过网页浏览器来访问网站,获取自己需要的资讯或者享受网络服务。
网站开发 = 前端开发 + 后端开发

注: DNS 作用:将域名转换成IP 地址
1.6 工单系统介绍
工单系统(Ticketing System)是运维工程师和 IT 支持团队在日常工作中广泛使用的工具,主要用于管理和跟踪工作任务、请求、问题和故障的解决过程。简单来说,它是一种用于记录、分配和处理工作请求、问题报告、变更申请等事项的系统。
工单系统常见类型:
- 内部支持型工单系统:公司内部员工向 IT 运维团队提交的技术支持请求,如软件安装、设备修复等。
- 外部支持型工单系统:客户或外部用户向 IT 服务提供商(如云服务商、软件供应商等)提交的支持请求,如使用产品时遇到问题或功能需求。
- 监控自动工单系统:与监控工具集成的自动工单系统,系统监控到故障或异常时,自动生成工单并分配给相关工程师处理。

2. 工单说明
2.1 工单任务背景
目前,公司Java开发团队完成了一个博客系统的开发任务,目前需要运维工程师完成对该项目的上线任务,要求:
- 要求一: 完成对博客系统云平台上线部署任务
- 要求二: 完成对博客系统日常监控, 确保可以稳定运行
以下为页面系统界面:

2.2 任务拆解
首先,我们要先了解该项目的整体软件架构组成部分,通过软件架构,我们能了解在本次运维部署任务中, 我们主要承担那些具体的工作内容:
该项目的软件架构组成:
开发语言: Java1.8
数据库服务: MySQL
WEB服务器: Tomcat
反向代理服务器: Nginx
关于数据库说明:
1- 需要在数据库中,准备forum-java数据库
2- 项目提供了基础数据集:scheam.sql 要求在部署的时候导入 才可正常使用系统
3- 请注意修改项目本身数据库的相关信息,避免无法连接
注意:此信息一般会有开发人员提供,或可与开发人员沟通配合上线注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
3. 网络基础
3.1 认识常见的网络设备
集线器(HUB)

- 共享带宽的设备,采用广播的形式来传输信息,可以实现多台电脑同时使用一个进线接口来上网或组成局域网
- HUB不管有多少端口,所有端口都共享一条带宽,同一时刻只能有两个端口传送数据,其它端口只能等待,传输效率低;如果是8口的HUB,那么每个端口得到的带宽就只有1/8的总带宽;
- 集线器工作原理图:

交换机

- 交换机的每一个端口所连接的网络都是独立的,也就是独享带宽;
- 并且能够进行地址学习(源端和目标端的MAC地址),维护一张MAC地址表
- 隔离冲突域。因为每个端口都有一条独占的带宽,当两个端口工作时不影响其它端口的工作。

- 交换机的工作原理

路由器:

一个作用是连接不同的网络,另一个作用是选择信息传送的线路(选路)。
选择通畅快捷的近路,能大大提高通信速度,减轻网络系统通信负荷,节约网络系统资源,提高网络系统畅通率。

1. 单从组建局域网来说,交换机的速度最快,其次是路由器,最后是HUB。而价格是路由器最贵,然后是交换机和HUB.
2. 集线器和交换机的作用可以简单的理解为将一些机器连接起来组成一个局域网;但是两者在性能上有区别:集线器采用的式共享带宽的工作方式,而交换机是独享带宽。这样在机器很多或数据量很大时,两者将会有比较明显的区别;
3. 路由器的作用在于连接不同的网络并且找到网络中数据传输最合适的路径。
3.2 常见的网络连接介质
双绞线:
- 双绞线俗称网线,每条双绞线通过两端安装的RJ-45连接器(俗称水晶头)将各种网络设备连接起来。多用于主机到集线器或交换机的连接。
- 双绞线中两种标准:
- T568A标准:绿白-1,绿-2,橙白-3,蓝-4,蓝白-5,橙-6,棕白-7,棕-8
- T568B标准:橙白-1,橙-2,绿白-3,蓝-4,蓝白-5,绿-6,棕白-7,棕-8
- 直通线:双绞线两边是一样标准,如568B-568B(常用)
- 交叉线:双绞线两边标准不一样,如568A-568B

- 网络设备连接
- 直通线:交换机到路由器、计算机到交换机、计算机到集线器等不同设备互联
- 交叉线:交换机到交换机、集线器到集线器、路由器到路由器、计算机到计算机等相同设备互联
早期局域网建设中,如果没有交换机,使用交叉线可直接连接两台计算机进行通信。
现代设备(尤其是支持 Auto MDI/MDI-X 功能的交换机或网卡)通常不需要交叉线,直通线也可以实现同类设备之间的连接。
光纤:
与其它传输介质比较,光纤的电磁绝缘性能好、信号衰小、频带宽、传输速度快、传输距离大。主要用于要求传输距离较长、布线条件特殊的主干网连接。具有不受外界电磁场的影响,无限制的带宽等特点,可以实现每秒万兆位的数据传送,尺寸小、重量轻,数据可传送几百千米,价格昂贵。

3.3 网络通信 "三要素"
- IP(Internet Protocol)
IP 地址用于唯一标识网络中的每一台设备。它充当设备的“地址”,使得数据能够在网络中准确地找到目标设备。
- 端口(Port)
端口用于区分同一台设备上不同的应用程序或服务。在计算机网络中,一个 IP 地址可以对应多个服务,每个服务通过不同的端口进行通信。端口号是通信中识别应用程序的方式。端口的范围:
- 0-1023:这些端口称为 知名端口,通常被系统或服务使用(例如,HTTP 使用端口 80,HTTPS 使用端口 443,FTP使用端口 21)。
- 1024-49151:这些端口称为 注册端口,通常用于用户和应用程序之间的通信(如数据库服务等)。
- 49152-65535:这些端口是 动态或私有端口,用于临时连接或客户端通信。
- 协议(Protocol)
协议定义了数据在网络中传输时的规则和格式。常见的协议有 TCP/IP、UDP、HTTP、FTP 等,它们规定了数据如何被分割、传输、接收和重组。
4. 操作系统介绍
常见的操作系统:Windows、MacOS、Unix/Linux、Android; 其中Linux是目前全球使用最多的服务器操作系统

为什么选择Linux?
- 性能问题: Windows服务器操作系统不如Linux高
- 稳定性问题:
- 底层架构:Linux更加稳定,其开机时间可以达到好几年不关机
- 开源:因为开源,人人可以看到源代码,可以自己打补丁,从而更好提高稳定性和安全性
- 安全性:Linux操作系统, 相对于Windows操作系统要更加安全
- 远程管理: Windows不及Linux操作高效
- 服务器价格一般要更加昂贵,需要对资源充分利用, 充分将资源用到项目上(访问并发、性能),而不是浪费到图形化界面或者方便程度上
5. Linux发展历史
Linux 是一个开源的类 Unix 操作系统,具有高度的稳定性和安全性,广泛用于服务器、嵌入式设备和桌面系统。它基于内核开发,用户可以自由修改和分发,支持多种硬件平台。
Linux之父:Linus(林纳斯 托瓦兹)

历史介绍:【了解】

狭义:由Linux 编写的一段内核代码。
广义:广义上的Linux 是指由Linux内核衍生的各种Linux发行版本。(CentOS、Ubuntu)
注意:以后提及到的Linux 都是广义上的Linux
特点:开放性(开源)、多用户、多任务、良好的用户界面、优异的性能与稳定性
由于Linux的开源特性,各个厂商基于Linux内核,进行了大量的改造、升级,衍生出非常多的发行版本

常用的发行版本:Centos、Ubuntu、RedHat、麒麟
6. 虚拟机软件概述与安装
虚拟机软件是一种能模拟硬件环境,让多个操作系统在同一台物理计算机上独立运行的软件。目前比较出名的产品:VMware出品的Vmware Workstation、Oracle 出品的Virtual Box。

安装操作:参考<<1- Linux云计算运维安装文档之VMware虚拟化软件安装与配置.pdf>>
---
如何验证当前电脑是否安装成功VMware呢?
- 1- 验证软件是否可以正常打开?

- 2- 验证网络配置中心,是否存在有二张网卡



如果没有呢?


还原后,再次查看,是否存在, 如果依然不存在, 很遗憾,可能得需要重新安装
6.1 配置操作
- 在VMware中修改配置



- 2- 修改宿主机的vmnet8网卡:





7. Linux操作系统安装
7.1 Centos Stream 9 安装
CentOS Stream 9是CentOS系列的一个滚动更新版本,也是红帽企业Linux(RHEL)的上游开发平台。它之前确实属于CentOS系列,但与传统CentOS版本相比,CentOS Stream更侧重于提供最新技术的实验环境,具有滚动更新的特性。

选择Centos Stream 9版本的原因:
1- 快速的软件更新: CentOS Stream 是滚动更新(rolling release)版本,意味着它比传统的 CentOS 版本更新速度更快,能提前体验到 RHEL(Red Hat Enterprise Linux)下一个版本的更新和新特性。
2- 更接近 RHEL: CentOS Stream 是 RHEL 的开发“预览”版本,可以更早地接触到 RHEL 的新特性和改进,帮助开发者和运维人员为生产环境做好准备。
3- 更长的支持周期: 虽然 CentOS Stream 的更新频率更高,但它与 RHEL 仍有紧密关联,因此可以享受类似 RHEL 的长期支持和稳定性。
4- 活跃的社区支持: CentOS Stream 作为 Red Hat 生态的一部分,得到更多的社区贡献和支持,遇到问题时更容易找到解决方案。
安装操作:参考《2-Linux云计算运维安装文档之Centos Stream 9 操作系统安装与配置.pdf》
7.2 Ubuntu Server 操作系统安装
Ubuntu Server 是一个广受欢迎的开源操作系统,基于 Linux 内核,由 Canonical 公司维护和发布。它以其稳定性、易用性和广泛的社区支持而闻名,特别适合用于构建服务器、云计算和容器化应用。
主要特性:
- 开源免费:任何人都可以免费下载、安装和使用。
- 定期更新:每两年发布一个长期支持 (LTS) 版本,提供 5 年的更新和支持。
- 广泛的硬件支持:支持主流服务器硬件和架构,包括 x86、ARM、PowerPC 等。
- 轻量级:相比桌面版,Server 版不包含图形界面(GUI),资源占用低。
版本种类
- LTS(长期支持)版本:如 Ubuntu Server 22.04 LTS,是生产环境的推荐版本。
- 非 LTS 版本:每 6 个月发布一次,支持时间较短,适合测试或实验。

安装操作:参考《3-Linux云计算运维安装文档之Ubuntu Server操作系统安装与配置.pdf》
Ubuntu系统在安装过程中并不会设置root账户的密码,而是创建一个用户账户,并建议在安装过程中完成该用户的密码设置。root账户的密码通常是不设置的,而是通过sudo机制来获取管理员权限。如
sudo ls /注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
sudo passwd root注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
8. 服务器基础配置
8.1 任务说明
- 主机名配置:
- 配置服务器的主机名,确保符合公司命名规范。
- 网络配置(静态IP地址配置)
- 配置静态IP地址,保证服务器的网络连通性。
8.2 主机名配置
主机名配置要遵循FQDN(Fully Qualified Domain Name),即完全限定域名。FQDN按从左到右的顺序排列:主机名 + 域名 + 顶级域名
主机名+公司域名
在一些生产环境中,主机名需要遵循FQDN格式,以确保网络中的唯一性和系统的正确解析与访问。如果主机名不符合FQDN格式,可能会导致DNS解析问题或其他网络通信问题。


校验是否OK:


8.3 网络配置(静态IP地址配置)



校验是否生效:

9. Linux连接工具MX使用
服务器都是放在机房的,我们不可能每天都跑到机房里去操作这些机器。所以,我们需要使用远程工具,通过网络连接到机房里的机器,当然远程连接的工具有非常多:CRT、Xshell、finalShell…. 本次我们主要使用的是一款开源免费的MobaXterm工具

9.1 安装MobaXterm远程连接软件
MobaXterm(MX)是一款强大的远程终端连接工具。可以用于远程连接Linux系统,通过远程方式执行命令完成任务。
安装操作:
- 1- 资料包中提供了MX软件的压缩包,将其解压后放置到准备安装的目录下

- 2- 双击即可打开

9.2 获取Linux操作系统IP地址
① 打开终端
② 在终端中,输入一个命令:ip 空格 a命令
ip命令,a是一个参数,代表all,显示所有网卡的IP信息
③ 查看一个叫做ens33网卡的IP地址,这个地址叫做物理IP或者简单理解就是你插网线那个网卡的IP地址

④ 在Windows操作系统中,远程测试一下这个IP地址是否可以连接(ping命令)
Windows电脑:Windows键 + R,输入cmd就可以打开DOS窗口了


9.3 Linux的超级系统账号
超级管理账户,即root用户,是Linux系统中默认的超级用户账号,对该系统拥有最高的权限
作用:包括系统管理、所有用户的管理、软件的安装卸载、资源控制、包括网络的配置等等,都可以通过root超级管理员进行实现。
除了超级管理员账户外,Linux还支持普通账户,普通账户一般可以用于登陆操作系统,对自己的家目录(文件夹)进行管理
目前我们可以先尝试使用超级管理员账户来登陆使用,但需要格外小心,避免删库跑路\~\~,未来我们会学习关于用户权限管理的章节,来创建更加精细化的账号进行管理工作
用户名: root
密码:1234569.4 通过远程工具实现登录
- 1- 输入IP、用户等信息






此时就登陆成功了:

10. 系统操作命令
- 1- 操作系统重启命令:reboot [-f]

注意事项:
- 执行
reboot后,系统会立即重新启动,不会有延迟或关闭进程的提示。
- 添加 -f 参数,表示强制重启,会跳过关闭进程的步骤,可能导致数据丢失或服务中断,因此应谨慎使用。
---
- 2- 操作系统关机命令:shutdown
- 作用: 用于关闭、重启系统,并且可以指定时间或发送通知给系统中的所有用户。
- 2.1 停止所有进程并关闭系统
立即停止:
shutdown -h 0
或
shutdown -h now
延迟停止:
shutdown -h 分钟数- 2.2 重启系统
立即重启:
shutdown -r 0
或
shutdown -r now
延迟重启:
shutdown -r 分钟数
特点:
通知用户:`shutdown` 命令会通知所有登录用户即将进行的操作,避免突然关机或重启。
定时操作:可以通过`shutdown`指定系统何时关机或重启。- 2.3 取消关机或重启状态: shutdown -c
同步说明
本文由飞书云文档同步生成。涉及命令、SQL、配置示例时,请以飞书源文档和实际环境执行结果为准。