阶段三:Linux数据库1 Linux测试环境搭建与实战指南
目录
1 项目环境介绍
1.1 环境的构成
1、环境(Environment):可以定义为程序或系统运行时所依赖的软件、硬件、网络等资源集合。

2、对应项目类型
架构角度:
(1)单体项目:所有功能堆到一起
(2)分布式项目:在多台服务器上部署了单体应用
(3)微服务项目:把系统应用拆分为独立的模块(微服务)

1.2 为什么要搭建环境
1、场景:模拟真实环境,验证功能和非功能需求
2、环境分类:
①开发环境:开发人员自己使用
②测试环境:测试人员使用
- 本地测试环境:测试人员自己独立使用的环境,验证是否满足需求
- 预发布环境:所有测试人员进行业务流程测试使用的环境,为上线做准备
③正式环境:用户使用,也叫生产环境
1.3 搭建环境的基本步骤
- 连接服务器
- 确认软件并下载安装
- 上传项目包
- 设置项目配置
- 启动运行软件
- 启动运行软件

2 搭建测试环境
服务器(虚拟机)+操作系统

2.1 环境搭建准备
2.1.1 服务器
1、硬件:服务器基础
- (1)本地服务器:购买服务器(高配置的电脑)、虚拟机(VMware)模拟
- (2)云服务器:阿里云、腾讯云、华为云等(购买服务)
2、软件:服务器操作系统
- (1)Linux:免费使用和自由传播的(服务器)操作系统
- (2)Windows Server:微软提供的收费的服务器操作系统
3、常见Linux操作系统分类(即常见的发行版本)
- (1)Debian系:如Ubuntu
- (2)Red Hat系: 如CentOS(目前7稳定),Fedorad
注意:Linux是一个操作系统的统称,通常有共同的内核版本
内核版本:管理硬件/交互的程序(通常开源免费)
发行版本:内核版本的基础上,增加很多功能
2.1.2 工具
1、Linux系统运行
- 云服务器/本地服务器
- 本地虚拟机
2、Linux服务器关联工具
常用连接工具:finalshell(开源免费)、xshell、putty、......
虚拟机工具:Vmware16/17(Windows版)
3、关联工具使用
- VMware工具说明:解决学习阶段电脑不够的问题(充当服务器)
- FinalshelI工具说明:远程连接并控制管理服务器
- DataGrip工具说明:管理并控制数据库服务器
(1)VMware官网(提供虚拟机):Fusion and Workstation | VMware
(2)FinalshelI官网: FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux,版本4.6.3,更新日期2025.5.21 - FinalShell官网
(3)CentOS官网(Linux操作系统):The CentOS Project
2.1.3 管理服务器
1、启动服务器:
- 开启服务器
- 登录服务器

2、连接服务器
①主机地址:服务器的IP
②端口号:ssh端口号
③用户名:Linux服务器账号
④密码:Linux服务器密码

3、连接结果说明
- @前面字符:表示登录的用户名
- @后面字符:表示当前服务器名称/主机名称
- ~:表示当前用户的家目录
- #或$:表示命令提示符,后面可以输入Linux操作命令。$表示登录的是普通用户,#表示超级管理员root
完整描述:[用户名@主机名 当前路径]命令提示符

2.2 Linux命令介绍
利用常见的16个Linux命令辅助测试执行,搭建测试环境、查服务端日志协助定位bug
2.2.1 Linux介绍
1、Linux:是一款免费使用和自由传播的(服务器)操作系统
2、Linux常见目录结构(根目录下统一管理)
- /:表示根目录
- /root:超级管理员root的家目录
- /home:普通用户家目录
- ......

3、Linux和Windows对比

2.2.2 Linux命令简介
1、在Linux如果需要如下操作,如何实现?是否有固定套路?
- Linux系统上创建修改删除文件......
2、Linux命令构成格式:命令名 [选项] [参数]
- 命令名:表示命令的作用,必选
- 选项:按照指定要求格式执行命令,中括号表示可选
- 参数:命令操作的对象,中括号表示可选

3、注意事项
- Linux命令需要严格区分大小写(大小写敏感)
- Linux系统不支持鼠标直接操作,通过键盘上下左右箭头键控制鼠标焦点
- Linux命令名前添加#表示注释,添加注释后该命令不会执行
2.3 Linux基础命令应用
1、场景:假设你是一名软件测试工程师,需要在一台Linux服务器上准备测试环境,比如创建目录、编辑配置文件、查看文件内容、修改文件权限等。我们将学习16个基础命令,帮助你完成这些任务。
2、对应模块分类:
(1)网络与位置
(2)目录操作
(3)文件操作
(4)内容查看与编辑
(5)权限查看与修改
2.3.1 网络与位置
1、连接Linux服务器,怎么知道服务器的IP地址?
查看当前服务器IP地址:ifconfig 或 ip addr
2、判断当前服务器是否连通网络?
从当前服务器ping其他地址:ping 对方IP地址/域名
eg:测试我的电脑和百度能不能通

3、登录Linux后,怎么知道当前操作的位置?
查看当前工作目录:pwd
eg:进入根目录下的root目录
![]()
4、清空终端屏幕内容,将光标移到左上角
命令格式:clear 或者使用快捷键 Ctrl+l
2.3.2 Linux目录操作
2.3.2.1 Linux目录操作1
1、文件目录/位置表示
(1)应用:表示一个文件在Linux上的存储位置,目录名+分隔符
(2)表示文件路径的方式
①绝对路径:以根目录(/)开头表示文件完整路径的方式(Windows是\)
②相对路径:相对于当前工作目录的路径,以 ./ 或 ../ 开头表示文件路径的方式
- ./ :表示当前路径,可以省略不写
- ../ :表示上一级路径,如果表示上上那个级,可以用 ../../ 表示
2、切换目录
(1)作用:进入不同的目录下进行文件操作
(2)命令:cd 路径
(3)常见操作:

eg:

2.3.2.2 Linux目录操作2
1、查看某目录下有哪些文件
(1)命令格式:ls [选项] 目录名
(2)选项说明:
① -a :显示所有文件,包含隐藏文件(Linux隐藏文件前面有两个点)
② -l :显示文件的详细信息
③目录名不写,表示当前目录
eg:

2、创建文件夹
(1)命令格式:mkdir [-p] 文件夹名
(2)说明:
- 多个文件夹之间用空格分隔
- 可以跟上 -p 选项,实现递归创建
- 目录名称不能与当前目录下的文件或目录同名
eg:


2.3.2.3 Linux目录操作3
1、文件位置查找:忘记文件存放的位置时,可以快速通过命令查询文件所在的位置
(1)命令格式:find [路径] -name 文件名
(2)说明:
- 路径可以不写,默认从当前路径开始
- 查询结果返回的是相关文件的绝对路径
- 文件名中可以包含通配符(文件/路径中含特殊字符)


2.3.3 文件操作
2.3.3.1 文件操作1
1、创建文件
(1)命令格式:touch 文件名
(2)说明:
- 创建多个文件,文件名之间空格分隔
- 如是文件名不存在,创建对应的文件;存在则更新文件时间

2、修改文件名
(1)命令格式:mv 旧文件名 新文件名

(2)说明:
- 修改文件名包含修改文件夹或普通文件
- 修改文件名可以带后缀
3、复制文件名
(1)命令格式:cp [-r] 旧文件 新文件
(2)说明:如果复制文件夹必须携带 -r


2.3.3.2 文件操作2
1、删除文件
(1)命令格式:rm [-rf] 目录名/文件名
(2)说明:
- -r:表示删除带有文件夹
- -f:表示强制删除,不会提醒
注意:rm -rf 删除后无法恢复,请慎重!!!

2.3.4 文件内容与编辑
2.3.4.1 文件内容与编辑1
1、查看文件内容
(1)命令格式1:cat 文件名
(2)cat常见说明:
- 适用于查看较少内容的文件
- 输出内容带行号,需要加选项 -n
(3)命令格式2:less 文件名
(4)常见说明:
- 用于分屏显示文件内容,每次显示一页内容
- 翻页按键:b(上一页)、f(下一页)、q(退出)
2.3.4.2 文件内容与编辑2
1、场景:对于Linux普通文件进行编辑操作
2、命令格式:vi 文件名
3、vi编辑器:Linux自带的文件编辑工具,通过命令行操作,不支持鼠标操作
4、命令操作步骤:
(1)进入命令模式:vi 文件名
(2)进入输入模式:输入字母 i a o 任何一个,编辑内容
(3)返回命令模式:按ESC键退出到命令模式
(4)末行模式:输入 : 进入
① q!:不保存强制退出
② q:不保存退出
③ wq:保存退出
④ wq!:保存强制退出

2.3.5 权限
2.3.5.1 权限查看
1、场景:服务器文件是不是任何人都可以随意操作?
2、权限概念:用户对系统中某个文件或目录具备操作的能力
3、权限表示:如下图表

4、权限查看:
(1)命令格式:ls -l

(2)权限字段说明:-表示没有该权限

eg:

2.3.5.2 权限修改
1、场景:当操作某个文件时,提示没有权限时如何处理 ?
2、修改权限方法:chmod 三位数 文件名
- 每位数字表示当前角色的权限数字之和
3、扩展:如果修改文件夹及里面所有文件权限
- 格式:chmod -R 三位数字 文件夹名
4、问题:某个角色权限最大的数字是多少?最小是多少?
- 最大:7,最小0


eg:

2.3.6 总流程

1、查看当前服务器的IP地址

2、查看当前所在位置
![]()
3、切换到根目录下&查看当前位置

4、查看根目录下有哪些文件

5、从根目录进入root目录&查看当前位置

6、在root目录下创建文件夹testa,创建普通文件a1.txt

7、给文件a1.txt填写任意内容,并查看文件内容
(1)先进入该文件输入模式,在填写
![]()
(2)输入完退出

(3)查看该文件内容

8、重命名文件a1.txt为start.sh

9、修改start.sh文件权限:拥有者读写执行、用户组读写、其他用户执行
(1)先查看权限&计算权限数字

(2)利用权限数字
![]()
(3)查看文件权限

10、删除文件夹testa和文件start.sh

11、清楚屏幕命令信息
![]()
2.4 环境搭建实战
根据已经掌握的Linux命令,完成测试环境的搭建
环境配置:按技术架构规定的为主
项目配置:对应开发打包提供
2.4.1 连接服务器


2.4.2 确认软件并下载安装
1、项目介绍:Tpshop项目基于B/S架构的电商类型的项目
2、项目技术架构图:

3、应用安装列表:
(1) 基础软硬件:服务器+操作系统(CentOS7.9)
(2)数据库服务:MySQL5.7.36
(3)Web服务:Nginx 1.20.1
(4)代码运行环境:PHP7.0
(5)其他应用服务:暂无
4、安装应用核心命令
(1)安装:yum -y install 软件包名
(2)卸载:yum -y remove 软件包名
(3)查看可用包名:yum list 软件包名 --showduplicates

5、检查并安装NGINX、MySQL、PHP
(1)检查是否已经安装NGINX、MySQL、PHP
(2)通过yum命令安装
(3)安装之后启动,并查看启动状态

2.4.3 应用上传项目包
1、作用:让开发提交的代码能运行
2、上传项目包
(1)上传:rz
(2)项目包:《www.zip》
3、解压项目包:zip文件无法直接运行
(1)zip文件解压:unzip压缩文件名 -d 解压路径
(2)Nginx默认项目路径:/usr/share/nginx/html
4、修改文件权限:修改项目文件权限到最大,确保任意用户都可以访问项目文件
5、具体命令

2.4.4 配置项目文件
1、修改配置文件作用:让项目能够按照指定的配置要求运行
2、Web服务配置
(1)Nginx配置文件作用:描述项目文件路径、端口等信息
(2)nginx默认配置文件:/etc/ngihx/conf.d/default.conf(etc一般是配置文件)
(3)重命名旧配置文件:让原有默认配置文件失效
(4)上传新配置文件:通过开发提供的新配置文件启动nginx
3、数据库配置
MySQL配置文件(不修改):/etc/my.cnf
4、具体命令

2.4.5 启动运行软件
项目配置初始化:初识启动必须的文件


2.4.6 验证整个系统
1、数据库初始化:页面展示初始内容(基础数据)
(1)开发:准备初始化数据文件(开发提供)
(2)测试:恢复数据信息到数据库服务器中
2、浏览器更新缓存刷新页面:页面显示数据即时生效
登录管理后台:admin账号下-->更新缓存
看到如下效果说明项目部署成功


3 Linux其他命令
3.1 Linux文件其他操作
3.1.1 文件内容搜索及管道符
1、场景:测试中对于日志文件/普通文件内容,搜索是否出现特定关键词
2、命令格式:grep [-选项] 关键词 文件名
3、常见选项说明:
(1)-n:显示匹配到的行号
(2)grep经常和管道符 | 结合一起使用
4、管道符 | 作用:一个命令的输出结果可以通过管道做为另一个命令的输入对象(多个Linux命令的结合使用)
5、语法格式:
(1)前面的结果分页查看:任何命令执行结果 | less (管道符 | 表示前面的执行结果传到后边)
(2)前面的结果按关键词过滤:任何命令执行结果 | grep 关键词
eg:

eg:在ls -l的执行结果里找tpshop

3.1.2 重定向
1、应用场景:测试中常常对输出的日志内容进行文件保存时使用
2、作用:将Linux命令的执行结果保存到一个文件中
3、命令格式:Linux命令执行结果 > 文件名
(1)覆盖式 >:> 重定向符号表示输出到新文件中,会覆盖文件中原有内容
(2)追加式 >>:>> 重定向符号表示追加到新文件中,不会覆盖文件中原有的内容
eg:覆盖式 >

eg:练习

4、<:表示右边的结果传到左边去(箭头朝哪边,数据朝哪边)

3.2 Linux系统操作
3.2.1 操作系统的重启与关机
1、应用场景:系统出现需求升级或者维护时,会涉及到重启及关机的操作(日常很少用到)
2、重启命令:reboot
3、关机命令:poweroff
注意:需要管理员权限身份运行
3.2.2 软件进程
1、应用场景:软件运行过程出现异常,涉及查进程(确保软件正常运行)及端口信息,结束进程的操作
2、查看进程命令格式:ps -aux
3、选项说明
- -a :显示终端上的所有进程
- -u :显示进程的详细信息
- -x :显示没有控制终端的进程
注意:查看指定程序的进程时,结合管道符过滤:pS -aux | grep '程序关键词”
4、动态查看系统程序进程:top
注意:查的信息会变,所以叫动态
(1)交互快捷键
- M:根据内存大小显示
- P:根据CPU占用率大小显示
(2)结束进程:kill 进程编号(PID)
强制关闭/结束进程:kill -9 进程编号
eg:

3.2.3 查看系统监听端口
1、应用场景:不同电脑之间通过相同程序进行信息交互时需要知道端口号,涉及到查端口号
2、查询端口命令:netstat -anptu
3、netstat作用:可以查看当前系统网络状态对应软件使用的端口
4、常见选项说明:
- -a :显示所有以打开的端口号
- -n :用数字显示对应端口号,不用别名显示
- -p :显示对应的进程编号(PID)
- -t :显示所有tcp协议端口
- -u :显示所有udp协议端口
注意:查看指定程序的端口时,结合管道符 | 过滤

3.2.4 查看端口详细信息
1、应用场景:系统中软件启动出现端口占用无法启动时,可以通过如下命令检查端口是否被占用
2、查看端口命令:lsof -i : 端口号
3、说明:lsof(list openfiles)是一个列出当前系统打开文件的工具,可以查看系统中正在使用端口的详细信息
3.2.5 日志相关操作
1、应用场景:服务器某个应用程序出现故障时,方便分析定位问题,需要查该程序对应服务端的日志信息
2、查日志方式
- 从前向后查:head [-数字] 文件名
- 从后往前查:tail [-数字] 文件名
- 查询实时日志:tail -f 文件名
3、命令说明:
- 不写数字对应选项,默认只查询前/后10行
- 如果填写数字,会显示指定数字行数信息
eg:

小结:



3.3 Linux系统目录说明
1、Linux是树形结构的文件系统,其中/是系统的根目录,其他所有目录都是它的子节点
2、主要目录介绍
(1)/:根目录,唯一,是一切文件的路径的入口
(2)/home:家目录(该目录下有不同的用户信息)
(3)/root:系统管理员root目录(root用户的家目录)
(4)/usr:默认应用程序目录(类似于Windows上安装软件的默认路径program files)
(5)/etc:系统配置目录(操作系统/第三方软件的配置文件存放地)
(6)/bin:存储二进制文件目录(可运行程序)
(7)/lib:存储软件依赖的库文件
(8)/boot:内核文件
(9)/tmp:临时文件

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)