
黑马-Linux运维全套课程
来自 网络整理·免费领取学习资源
9,139 领取 · 5,750 收藏更新于 2026年9月20日
这份资料来自网络整理2026年的付费VIP课,内容以视频为主,对应《黑马-Linux运维全套课程》。官网需要单独购买,有集上可以免费领取。
Linux运维即linux运维工程师,通常是用来维护网站,系统,硬件等正常运作
课程目录
- 01-第1阶段-运维基本功
- day01-运维概述与Linux系统安装
- 01-学习目标_
- 02-运维概述与未来发展方向_
- 03-运维的诞生以及行业发展前景_
- 04-铁三角的概念_
- 05-部门职责与上线生产_
- 06-网站的基本概念_
- 07-网站的运行模式(重要)_
- 08-几个重要概念_
- 09-服务器组成结构_
- 10-操作系统概述_
- 11-Linux发展史_
- 12-VMware虚拟机软件_
- 13-VMware虚拟机软件的安装_
- 14-Linux运行环境准备_
- 15-安装Linux操作系统_
- 16-快照备份_
- 17-锁屏设置问题_
- day02-Linux基本命令
- 01-学习目标_
- 02-快照备份_
- 03-克隆备份_
- 04-快照与克隆的区别_
- 05-Linux严格区分大小写_
- 06-Linux文件的扩展名或后缀名_
- 07-Linux系统中一切皆文件_
- 08-Linux存储设备必须先挂载后使用_
- 09-Linux系统分区与文件结构_
- 10-Linux系统文件目录的用途_
- 11-开启终端与Linux命令格式_
- 12-Linux下的命令补全_
- 13-su切换用户命令_
- 14-uname命令_
- 15-ls命令与绝对路径和相对路径_
- 16-ls命令与选项说明_
- 17-pwd命令_
- 18-cd命令_
- 19-clear命令_
- 20-whoami命令_
- 21-reboot命令_
- 22-shutdown命令_
- 23-type命令_
- 24-history命令_
- 25-hostnamectl命令(重要)_
- day03-Linux文件管理
- 配套讲义
- 01-判断题解析_
- 02-单选题解析_
- 03-多选题与简单题解析_
- 04-学习目标_
- 05-Linux下文件名称规则_
- 06-Linux下目录创建_
- 07-Linux下的目录删除_
- 08-Linux下文件创建_
- 09-Linux下文件删除_
- 10-rm的危险操作_
- 11-Linux下的复制操作_
- 12-Linux下的剪切与重命名操作_
- 13-Linux下文件打包操作_
- 14-查看tar包文件内容及更新内容到tar包_
- 15-释放tar包中的文件_
- 16-打包并压缩操作_
- 17-解压缩操作_
- 18-zip压缩与解压缩_
- 19-压缩与解压缩总结_
- 20-课程总结_
- day04-Linux文件管理&vim编辑器概述
- 课堂笔记
- 配套讲义
- 01-VIM编辑器概述_
- 02-VIM编辑器四种模式的关系_
- 03-文件的打开与退出_
- 04-移动光标(命令模式)_
- 05-复制与粘贴(命令模式)_
- 06-剪切与删除(命令模式)_
- 07-撤销与恢复(命令模式)_
- 08-命令模式总结_
- 09-文件的保存与退出(末行模式)_
- 10-查找与搜索功能(末行模式)_
- 11-替换光标所在行的关键词(末行模式)_
- 12-文件内容的替换(命令模式)_
- 13-显示行号与取消行号(命令模式)_
- 14-paste模式(命令模式 了解)_
- 15-末行模式总结_
- 16-编辑模式_
- 17-可视化模式(了解)_
- 18-为配置文件添加多行注释(重点)_
- 19-为配置文件去除#多行注释(重点)_
- 20-代码着色(实用功能)_
- 21-异常退出解决方案_
- 22-退出的另外一种方式_
- 23-cat与tac命令详解_
- 24-head命令(显示前n行)_
- 25-tail命令(显示后n行与动态输出)_
- day05-Linux文件管理&用户管理
- 课堂笔记
- 配套讲义
- 01-判断题解析_
- 02-单选题解析_
- 03-多选题解析_
- 04-简答题解析_
- 05-more与less详解_
- 06-wc命令_
- 07-du命令_
- 08-find命令_
- 09-grep命令_
- 10-输出重定向(覆盖输出与追加输出)_
- 11-学习目标_
- 12-用户和组的关系(重要)_
- 13-用户组的添加操作_
- 14-用户组的修改操作_
- 15-用户组的删除操作_
- 16-用户的添加操作_
- 17-用户信息查询_
- 18-用户信息查询_
- day06-Linux用户管理&远程管理
- 课堂笔记
- 配套讲义
- 01-回顾用户组与用户管理_
- 02-与用户相关的文件passwd详解_
- 03-用户的修改操作(上)_
- 04-用户的修改操作(下)_
- 05-密码设置补充_
- 06-su切换账号与wheel组(了解)_
- 07-用户的删除操作_
- 08-已登录账号删除的解决方案_
- 09-用户管理总结_
- 10-管道符与过滤筛选功能_
- 11-管道符支持的命令_
- 12-管道命令实现统计功能_
- 13-xargs命令扩展_
- 14-ifconfig获取网卡信息(IP地址)_
- 15-与网卡相关的配置文件_
- 16-查询计算机网络状态_
- 17-启动重启或停止网络_
- 18-SSH协议与sshd服务_
- 19-使用MX连接Linux与实现文件传输_
- day07-Linux权限管理
- 课堂讲义
- 配套讲义
- 01-判断题解析_
- 02-单选题解析_
- 03-多选题解析_
- 04-简单题解析_
- 05-学习目标_
- 06-权限的基本概念_
- 07-Linux用户身份类别_
- 08-查看文件的类型与权限信息_
- 09-补充:Linux的7大类文件_
- 10-设置文件或文件夹权限(字母形式)_
- 11-设置文件或文件夹权限(数字形式)_
- 12-奇葩权限(单独出现2或3的情况)_
- 13-数字权限练习题_
- 14-数字权限练习题答案_
- 15-特殊权限(文件删除需要具备何种权限)_
- 16-文件拥有者与所属组查看_
- 17-文件拥有者与所属组的修改_
- 18-特殊位S_
- 19-粘滞位T_
- 20-ACL权限控制(重点)_
- 21-umask值(了解不要操作)_
- day08-Linux自有服务&软件包管理
- 课堂笔记
- 配套讲义
- 01-学习目标_
- 02-使用systemctl命令显示系统服务(扩展管道)_
- 03-Linux系统服务的管理_
- 04-服务持久化(开机自启与开机不自启)_
- 05-systemctl命令总结_
- 06-扩展:Linux的Running Level_
- 07-NTP时间同步服务_
- 08-RPM软件包查询与卸载_
- 09-RPM软件包安装(上)_
- 10-RPM软件包安装(下)_
- 11-RPM扩展(依赖关系与yum)_
- 12-查看文件所属的包名_
- 13-查询软件安装后生成了哪些文件_
- 14-光盘挂载与解挂_
- day09-Linux自有服务-防火墙&计划任务
- 课堂笔记
- 配套讲义
- 01-判断题解析_
- 02-扩展:权限大总结_
- 03-单选题解析_
- 04-多选题解析_
- 05-firewalld防火墙概述与区域概念_
- 06-firewalld防火墙运行模式与永久模式_
- 07-firewalld查看停止与启动操作_
- 08-firewalld的重启与重载服务_
- 09-firewalld开机启动与开机不启动_
- 10-管理工具+默认zone+防火墙规则_
- 11-添加防火墙规则(根据服务名称)_
- 12-移除防火墙规则(根据服务的名称)_
- 13-添加防火墙规则(根据服务的端口号)_
- 14-移除防火墙规则(根据服务的端口号)_
- 15-防火墙规则(永久模式)_
- 16-Windows中的计划任务_
- 17-计划任务的编写规则(上)_
- 18-计划任务的编写规则(下)_
- 19-计划任务的小案例_
- day10-Linux计划任务&进程检测与控制
- 01-计划任务的权限_
- 02-查看计划任务的保存文件_
- 03-计划任务的日志程序_
- 04-扩展:at一次性计划任务_
- 05-学习目标_
- 06-进程与程序的关系_
- 07-top命令详解(上)_
- 08-top命令详解(中)_
- 09-top命令详解(下)_
- 10-top系统的进程信息(上)_
- 11-top系统的进程信息(下)_
- 12-free命令查看系统的内存使用情况_
- 13-df命令查看磁盘剩余情况_
- 14-ps命令详解静态查看系统的进程信息_
- 15-ps命令的补充(BSD格式)_
- 16-netstat与ss查询访问的访问信息、_
- 17-kill与killall命令发送信号给进程_
- day11-进程的优先级&LAMP项目部署实战
- 01_判断题解析_
- 02_单选题解析_
- 03_rpm强制卸载(扩展)_
- 04_多选题与简单题解析_
- 05_进程的优先级扩展(上)_
- 06_进程的优先级扩展(中)_
- 07_进程的优先级扩展(下)_
- 08_学习目标_
- 09_任务背景_
- 10_阿里云镜像源配置_
- 11_yum命令搜索软件_
- 12_MX软件的复制与粘贴_
- 13_yum命令安装软件_
- 14_yum命令卸载软件_
- 15_yum命令更新软件_
- 16_LAMP概述_
- 17_阿里云账号注册与实名认证_
- 18_购买阿里云ECS_
- 19_阿里云ECS服务器测试_
- day12-LAMP项目部署实战
- 01_购买ECS服务器_
- 02_关闭防火墙与SELinux_
- 03_检查系统是否已安装AMP软件_
- 04_Apache软件的安装与配置_
- 05_MySQL软件的安装_
- 06_MySQL数据库初始化(重要)_
- 07_本地Linux安装MySQL(上)_
- 08_本地Linux安装MySQL(下)_
- 09_PHP的安装与配置_
- 10_本地PHP安装与测试_
- 11_上传源代码以及安装unzip解压缩工具_
- 12_解压与移动源代码到项目目录_
- 13_安装Discuz论坛_
- 14_域名解析与备案_
- 02-第2阶段-运维系统服务
- 01-网络基础
- day01-网络的基本概念
- day02-OSI七层模型与TCP协议
- day03- 路由表与抓包工具使用
- 02-系统服务
- day01-Linux高级命令
- day02-Linux下用户组管理
- day03-文件权限管理&软件包管理
- day04-Linux下yum源配置实战
- day05-SSH远程管理服务
- day06-远程管理SSH服务
- day07-Linux系统下数据同步服务RSYNC
- day08-FTP系统服务
- day09-FTP、NFS服务
- day10-SAMBA文件共享与DNS域名服务
- day11-DNS域名管理系统与LAMP编译安装
- 03-磁盘管理
- day01-磁盘管理-1
- day02-磁盘管理-2
- day03-磁盘阵列之RAID
- 04-Shell脚本
- day01-小工具
- day02-shell基础知识
- day03-Shell选择结构
- day04-Shell循环
- day05-Shell随机数与循环嵌套
- day06-Shell函数与正则表达式
- day07-Shell三剑客(上)
- day08-Shell三剑客(下)
- 05-mysql-dba
- day01-MySQL介绍及安装
- day02-MySQL基本SQL语句(上)
- day03-MySQL基本SQL语句(下)
- day04-MySQL备份与恢复(重点)
- day05-MySQL备份与恢复
- day06-MySQL主从复制架构
- day07-半同步复制与MHA高可用架构设计
- 06-配套软件包
- mysql-soft
- rsync
- 03-第3阶段-运维线上实战:千万级电商系统解决方案
- day01_企业架构之LNMP
- 01_文档
- 05_资料
- 01_项目开发流程_
- 02_业务背景和业务架构解决方案_
- 03_安装虚拟机操作系统镜像_
- 04_vmware虚拟机NAT网络模式DHCP获取IP地址_
- 05_服务器基本初始化操作_
- 06_LNMP及其其他常见业务架构的介绍_
- 07_编译安装MySQL_
- 08_MySQL安装后检查_
- 09_Nginx的相关介绍_
- 10_Nginx源码编译安装_
- 11_Nginx目录作用介绍_
- 12_Nginx二进制执行文件的操作参数_
- 13_Nginx服务脚本配置_
- 14_自定义Nginx服务脚本_
- 15_php相关介绍及其动静页面的区别_
- 16_LAMP和LNMP架构中PHP运行方式的区别_
- 17_php编译安装_
- 18_php目录介绍和配置文件初始化_
- 19_php-fpm服务配置开机启动_
- 20_nginx配置文件定义php-fpm服务_
- day02_企业级Nginx使用
- 01_文档
- 02_软件
- 01_基于域名的日志分割_
- 02_Nginx的错误日志格式和参数_
- 03_Nginx的访问日志格式和参数_
- 04_反向代理模块操作_
- 05_目录列表的显示_
- 06_基于用户的访问控制_
- 07_基于IP的访问控制_
- 08_Nginx配置客户端缓存有效时长_
- 09_Nginx实现gzip压缩文件_
- 10_上线商城项目_
- 11_基于IP的虚拟机配置_
- 12_基于端口的虚拟机配置_
- 13_基于域名的虚拟主机配置_
- 14_Nginx配置文件的查看_
- 15_Nginx提供的升级命令查看和使用_
- 16_Nginx实现平滑升级_
- 17_Nginx支持的kill信号参数_
- 18_nginx相关版本介绍_
- 19_学习目标和内容_01_
- day03_企业级Nginx使用
- 01_文档
- 02_软件
- 01_学习目标和内容_02_
- 02_nginx第三方模块介绍及其编译安装_
- 03_fancy-index模块美化列表页面_
- 04_echo模块打印调试变量_
- 05_Nginx的发行版介绍_
- 06_Tengine编译安装_
- 07_Tengine通过footer_filter模块标识服务器信息_
- 08_openresty编译安装_
- 09_openresty使用lua语法的入门_
- 10_location匹配规则语法介绍_
- 11_location匹配规则操作案例_
- 12_location的@语法_
- 13_return语法的使用_
- 14_rewrite语法规则介绍_
- 15_资源重定向实现伪静态_
- 16_域名重定向实现_
- 17_防盗链原理和实现_
- 18_安全方向注意点_
- 19_Nginx配置https协议_
- day04_企业架构HA-服务器的高可用
- 01_文档
- 03_配置
- 05_资料
- 01_Nginx重写方式支持项目pathinfo路径_
- 02_学习目标和内容_01_
- 03_业务背景和运维解决方案_
- 04_克隆获取机器并基础环境配置_
- 05_数据备份和迁移_
- 06_HA高可用概念介绍及其实现核心点_
- 07_keepalived介绍和组成实现原理_
- 08_安装keepalived及其相关文件目录介绍_
- 09_主备服务器keepalived配置并启动查看VIP所在服务器_
- 10_服务器不可用VIP切换_
- 11_keepalived实现服务高可用的方式介绍_
- 12_nginx服务检测脚本控制keepalived状态_
- 13_检测服务不可用VIP切换实现_
- 14_实现业务web服务高可用_
- 15_非抢占模式和权重用法_
- 16_单播模式发送vrrp包_
- 17_tcpdump抓vrrp包查看_
- day05_企业架构LB-服务器的负载均衡之Nginx实现
- 01_文档
- 03_配置
- 04_代码
- 01_学习目标和内容_03_
- 02_业务背景和运维解决方案_
- 03_负载均衡服务器的基础环境配置_
- 04_负载均衡的概念和作用_
- 05_负载均衡分类_
- 06_常见实现方式_
- 07_nginx负载均衡实现关键语法介绍_
- 08_Nginx负载均衡转发域名给后端服务器_
- 09_确认负载均衡是否分发的方式_
- 10_负载均衡后后端服务器获取客户端真实IP_
- 11_upstream中server关键字配置_
- 12_负载均衡之后引发的session一致性问题_
- 13_Nginx默认官方提供的负载均衡调度算法_
- 14_负载均衡服务器的高可用备用服务器配置_
- day06_企业架构LB-服务器的负载均衡二
- 01_文档
- 03_配置
- 05_资料
- 01_Heatbeat简单实现VIP切换_
- 02_学习目标和内容_02_
- 03_LVS介绍和ipvsadm管理工具安装_
- 04_LVS常见工作方式和调度算法介绍_
- 05_需要知道的几个概念名词_
- 06_NAT方式实现的流程原理_
- 07_配置NAT模式准备工作_
- 08_NAT模型RS真实服务器的网关配置_
- 09_NAT模型DR调度服务器规则和转发配置_
- 10_调度算法配置测试_
- 11_脚本实现NAT模式配置_
- 12_NAT模式实现可能的一些问题_
- 13_DR模式介绍_
- 14_DR模式配置实现_
- 15_脚本实现DR模式配置_
- 16_HAProxy的相关介绍_
- 17_HAProxy的http七层负载均衡实现_
- day07_企业架构MySQL数据库架构读写分离
- 01_文档
- 03_配置
- 01-通过lvs实现mysql的负载均衡(备)_
- 02-lvs配置mysql负载均衡_
- 03-通过haproxy实现mysql负载均衡(备)_
- 04-学习目标和背景_
- 05-背景描述及其运维解决方案_
- 06-读写分离的目的和要求实时性读取的解决方案介绍_
- 07-读写分离的实现方式介绍_
- 08-主从复制master配置_
- 09-主从复制slave配置_
- 10-简单业务代码实现原理_
- 11-框架配置实现读写分离_
- 12-数据库中间件相关介绍_
- 13-jdk和jre区别及其静态编译型语言和动态解释性语言的区别_
- 14-jdk部署安装配置环境变量_
- 15-mycat安装部署测试启动_
- 16-mycat配置读写分离_
- 17-mycat的客户端和管理端使用_
- 18-业务代码配置连接mycat中间件_
- 19-配置属性值介绍_
- day08_企业架构缓存中间件分布式memcached
- 01_文档
- 01_学习目标和内容_04_
- 02_网站优化介绍_
- 03_业务背景描述及其运维解决方案_
- 04_缓存服务器基础环境准备_
- 05_memcached介绍_
- 06_memcached编译安装_
- 07_通过telnet客户端连接测试memcached服务_
- 08_存储命令一_
- 09_存储命令二_
- 10_删除命令_
- 11_查找和计算命令_
- 12_统计状态命令、缓存穿透、缓存雪崩_
- 13_memcached监控状态小工具_
- 14_失效机制(了解)_
- 15_php扩展的依赖libmemcached源码编译安装_
- 16_编译生成memcached扩展文件_
- 17_通过脚本编译安装配置扩展_
- 18_检测扩展是否安装成功的方式_
- 19_PHP测试连接memcached服务_
- 20_session共享存储到memcached中_
- 21_缓存热点数据_
- day09_企业架构队列缓存中间件分布式Redis
- 01_文档
- 02_软件
- 01_学习目标和内容_
- 02_业务背景描述和运维解决方案_
- 03_redis介绍_
- 04_redis业务使用场合_
- 05_redis对别memcached差异_
- 06_redis源码编译安装和前台测试启动_
- 07_redis后台启动服务_
- 08_redis命令行客户端操作使用_
- 09_key操作_
- 10_string操作_
- 11_list操作_
- 12_set操作_
- 13_zset操作_
- 14_hash操作_
- 15_snappshoting快照持久化技术_
- 16_append only file文件追加写持久化技术_
- 17_主从复制实现_
- 18_安全限制_
- 19_php的redis扩展编译安装配置_
- 20_session存储到redis中_
- 21_openresty(nginx+lua)+redis实现WAF_
- day10_企业架构NoSQL数据库之MongoDB
- 01_文档
- 03_配置
- 05_资料
- 01_学习目标和内容_06_
- 02_业务背景和模拟运维设计方案_
- 03_Mongodb相关介绍_
- 04_mongodb安装及其命令行客户端连接操作_
- 05_添加数据_
- 06_查询数据一_
- 07_查询数据二_
- 08_mongodb官方文档的简单使用_
- 09_查询数据三_
- 10_修改数据_
- 11_删除数据_
- 12_限制登录bind_ip_
- 13_用户权限管理_
- 14_mongodb扩展安装_
- 15_日志存储mongodb和GUI客户端_
- day11_企业架构web服务器文件及时同步
- 01_文档
- 01_mongodb数据迁移_
- 02_mongodb命令行监控工具和文档_
- 03_学习目标和内容_
- 04_文件同步的必要性_
- 05_同步文件的几种方式_
- 06_scp同步文件案例_
- 07_rsync增量同步文件案例_
- 08_rsync+sersync目标服务器rsync服务启动_
- 09_rsync+sersync源服务器sersync服务配置_
- 10_sersync过滤排除不同步的文件_
- 11_企业架构业务层单点和数据库层单点_
- 12_企业架构HA和LB实现_
- 13_企业架构数据库主从复制和读写分离_
- 14_企业架构中nosql的使用_
- day12_企业架构之Tomcat部署使用
- 01_文档
- 04_代码
- 01_学习目标和内容_
- 02_Tomcat介绍_
- 03_tomcat工作原理流程介绍_
- 04_tomcat部署和测试启动_
- 05_替换openjdk为oracle的jdk_
- 06_tomcat配置java环境变量的三种方式_
- 07_tomcat软件目录介绍_
- 08_tomcat启动相关脚本和参数_
- 09_tomcat配置服务和开机自启动_
- 10_jsp代码测试_
- 11_基于域名的访问host的配置_
- 12_服务状态页面和应用管理页面查看_
- 13_虚拟机host管理页面查看_
- 14_nginx和tomcat动静分离实现反向代理_
- 15_nginx实现tomcat的负载均衡_
- 16_项目部署一(安装乱码)_
- 17_项目部署二-上线数据库单点负载均衡_
- 04-第4阶段-运维线下实战:运维自动化
- 01-存储专题
- day01-存储基本概念与SAN存储
- day02-glusterfs分布式存储
- day03- ceph集群与owncloud存储实战
- 配套资料
- 02-配置自动化专题
- day01-自动化工具ansible概述与常用模块
- day02-ansible之playbook&roles详解
- 配套资料
- 03-监控专题
- day01-zabbix安装与介绍
- day02-prometheus安装与介绍
- day03-模板与zabbix报警&zabbixproxy案例
- 配套资料
- 04-日志分析-日志监控ELK
- day01-ELK概述与elasticsearch部署
- day02-ELK日志系统生产案例
- day03-生产案例及Git版本控制
- 配套资料
- 05-持续集成与持续发布(CICD)专题
- day01-CICD之Git版本控制
- day02-CICD之Jenkins持续集成
- 配套资料
- 05-第5阶段-运维安全
- 01_系统安全
- 01_系统安全引入_
- 02_系统安全之安装系统_
- 03_系统安全之文件权限_
- 04_系统安全之ACL_
- 05_系统安全之chattr文件属性_
- 06_系统安全之mask及mount_
- 07_系统安全之用户授权_su_
- 08_系统安全之用户授权sudo引入_
- 09_系统安全之用户授权sudo对用户授权_
- 10_系统安全之用户授权sudo对组授权_
- 11_系统安全之用户授权sudo之别名_
- 12_系统安全之用户授权sudo日志_
- 13_昨日回顾_
- 14_用户认证方式_
- 15_PAM介绍_
- 16_PAM帮助方式_
- 17_PAM认证原理_
- 18_PAM认证类型及流程_
- 19_PAM_rootok.so_
- 20_PAM_access.so_
- 21_PAM_listfile.so_
- 22_PAM_time.so_
- 23_PAM_tally2.so_
- 24_PAM_limits.so_
- 25_PAM资源限制案例_
- 26_Cgroup资源限制_
- 27_Cgroup实现CPU限制_
- 28_Cgroup实现Mem限制_
- 02_网络安全
- 01_防火墙引入_
- 02_防火墙分类_
- 03_防火墙性能指标_
- 04_硬件防火墙介绍_
- 05_软件防火墙介绍_
- 06_web应用防火墙_
- 07_硬件防火墙与软件防火墙比较_
- 08_iptables是什么_
- 09_netfilter_iptables功能_
- 10_iptables工作依据_
- 11_iptables链的概念_
- 12_iptables规则链_
- 13_iptables表及链_
- 14_iptables表的应用顺序及数据包流程_
- 15_iptables规则匹配条件_
- 16_iptables规则中动作_
- 17_iptables命令结构_
- 18_iptables-services安装_
- 19_iptables基础操作-1_
- 20_iptables基础操作-2_
- 21_iptables_白名单_黑名单_
- 22_iptables表及链查看_
- 23_iptables基础操作-3_
- 24_iptables基础操作-4(ftp)_
- 25_iptables基础操作-5(标准流程)_
- 26_iptables基础操作-6(端口)_
- 27_iptables扩展匹配-1(icmp)_
- 28_iptables扩展匹配-2(iprange)_
- 29_iptables扩展匹配-3(multiport)_
- 30_iptables扩展匹配-4(其它模块)_
- 31_iptables扩展动作_
- 32_iptables_nat表介绍_
- 33_linux主机开启路由转发功能_
- 34_iptables_snat实验网络拓扑_
- 35_iptables_SNAT实现及验证_
- 36_iptables_masquerade_
- 37_iptables_nat_kvm虚拟机访问外网导流_
- 38_iptables_DNAT实现及验证_
- 39_qingcloud端口转发(类DNAT)_
- 40_firewalld介绍_
- 41_firewalld_zones介绍及配置文件_
- 42_firewall基本语法及简单使用_
- 43_firewall动作查看操作_
- 44_firewall-cmd-添加接口及删除接口_
- 45_firewall-cmd-添加协议-端口-源地址_
- 46_firwall-cmd-删除-更改-查询_
- 47_firewall-cmd-端口转发_
- 48_firewall-cmd-rich-rule_
- 49_防火墙大总结_
- 03_服务安全
- 00_服务安全概述_
- 01_访问控制方法_
- 02_selinux介绍_
- 03_selinux限制测试_
- 04_selinux关闭_
- 05_加密技术介绍_
- 06_对称加密_
- 07_非对称加密_
- 08_CA介绍(httpd&ssl)_
- 09_CA密钥及CA证书_
- 10_CA颁发证书_
- 11_web服务器应用证书_
- 12_web服务验证(httpd)_
- 13_web服务验证(nginx)_
- 14_web服务验证(网络申请证书)_
- 04_安全网关
- 01_jumpserver_
- 02_环境准备-安全性环境_
- 03_环境准备_依赖工具准备_
- 04_环境准备-软件准备_
- 05_jumpserver配置文件及启动_
- 06_coco配置_
- 07_luna_nginx部署及访问_
- 08_jumpserver菜单介绍及邮件设置_
- 09_jumpserver用户及用户组管理_
- 10_jumpserver资产管理_
- 11_jumpserver权限管理_
- 12_jumpserver连接远程资产主机_
- 13_jumpserver_web终端管理远程资产主机_
- 05_入侵检测
- 01_入侵检测引入_
- 02_入侵检测_日志查看_
- 03_入侵检测_日志内容过滤_
- 04_入侵检测_last_cron_rc_local_
- 05_查看异常流量介绍_
- 06_iftop应用_
- 07_监控软件监控网卡流量_
- 08_抓包工具介绍及tcpdump简介_
- 09_tcpdump抓取指定数量数据包_
- 10_tcpdump抓取数据包到指定文件_
- 11_tcpdump读取指定抓取的数据文件及wireshark读取抓取的数据文件_
- 12_tcpdump抓取指定端口数据包_
- 13_tcpdump抓取指定网段_
- 14_tcpdump抓取指定主机数据包_
- 15_tcpdump抓取指定协议-arp_
- 16_tcpdump抓取多条件数据包_
- 17_tcpdump抓取TCP协议的标识位_
- 18_检查可疑进程_
- 19_文件完整性检查_
- 20_arping命令使用方法_
- 06-第6阶段-运维云计算
- 01_大数据
- day1-大数据之Hadoop部署
- day2-Hadoop集群之ambari实践
- 配套资料
- 02_虚拟化
- day1-kvm虚拟化部署实践(上)
- day2-kvm虚拟化部署实践(下)
- 03_阿里云
- 01-ECS
- 02-RDS
- 03-NAS
- 04-OSS
- 05-SLB
- 06-CDN
- 04_私有云
- day01-私有云openstack介绍及部署
- day02-认证服务keystone介绍
- day03-计算组件nova介绍
- day04-cinder在控制节点上部署
- 配套资料
- 05_容器
- 01_虚拟化技术回顾_
- 02_主机虚拟化与容器虚拟化区别及优缺点_
- 03_云平台技术实现方式_
- 04_容器涉及的内核技术-NameSpace_
- 05_容器涉及的内核技术-CGroups_
- 06_Cgroup九大子系统介绍_
- 07_Cgroup限制进程对CPU使用案例_
- 08_Cgroup限制进程对memory使用案例_
- 09_容器技术发展历史及容器管理工具介绍_
- 10_docker版本介绍_
- 11-docker部署YUM源获取_
- 12_docker-ce安装及服务启动_
- 13_容器镜像获取_
- 14_运行一个容器_
- 15_docker_daemon配置远程及本地管理_
- 16_docker命令行命令介绍_
- 17_docker获取镜像_
- 18_docker容器镜像传输_
- 19_docker容器运行bash命令_
- 20_docker容器运行httpd服务_
- 21_把正在运行的容器打包后导入为容器镜像_
- 22_查看容器IP地址方法_
- 23_停止一个或多个正在运行的容器_
- 24_启动一个已停止的容器及删除一个已停止容器_
- 25_容器端口映射_
- 26_数据持久化存储_
- 27_容器时间同步_
- 28_在容器外执行容器内命令_
- 29_容器之间使用link连接_
- 30_容器镜像介绍_
- 31_基础镜像制作_
- 32_应用镜像制作-commit_
- 33_docker build使用Dockerfile创建应用镜像过程分析_
- 33_docker build使用Dockerfile创建应用镜像介绍_
- 34_docker build使用Dockerfile创建应用镜像案例_
- 35_docker build使用Dockerfile创建应用镜像案例-替代原网站内容_
- 36_docker build使用Dockerfile创建nginx应用镜像案例_
- 37_容器镜像—容器本身存储数据的位置及方法_
- 38_overlay及overlay2工作原理_
- 39_overlay2存储容器数据方法验证_
- 40_容器公有仓库注册及登录_
- 41_公有仓库容器镜像上传及下载_
- 42_docker中国镜像加速器介绍及应用_
- 43_阿里云镜像加速器介绍及应用_
- 44_创建本地非安全镜像仓库_
- 45_创建本地非安全镜像仓库-其它主机中验证是否可用_
- 46_准备pip-docker-compose-harbor_
- 47_harbor部署及镜像上传_
- 48_下载harbor仓库中容器镜像并应用_
- 49_docker网络介绍-四种网络_
- 50_docker跨主机容器间通信网络介绍_
- 51_docker跨主机容器间通信网络-环境准备_
- 52_docker跨主机容器间通信网络-配置etcd及flannel_
- 53_docker跨主机容器间通信网络-node1验证_
- 54_docker跨主机容器间通信网络-node2验证_
- 55_容器编排部署介绍_
- 56_容器编排部署工具介绍_
- 57_docker-compose编排工具介绍_
- 58_docker-compose编排应用案例-haproxy_
- 59_docker-compose编排应用案例-flask-redis_
- 60_docker-compose编排应用案例-wordpress_
- 61_docker_swarm是什么_
- 62_docker_swarm架构_
- 63_docker_swarm集群环境准备_
- 64_docker_swarm初始化_
- 65_docker_swarm发布服务前镜像准备_
- 66_docker_swarm发布服务_
- 67_docker_swarm多服务发布_
- 68_docker_swarm发布服务挂载本地卷_
- 69_docker_swarm网络存储卷-nfs准备_
- 70_docker_swarm网络存储卷-存储卷创建_
- 71_docker_swarm网络存储卷-手动创建service使用卷_
- 72_docker_swarm网络存储卷-编排部署service使用卷_
- 73_代码自动发布系统介绍-流程及工具_
- 74_代码自动发布系统介绍-主机规划_
- 75_代码自动发布系统介绍-主机准备_
- 76_代码自动发布系统介绍-jenkins-server安装jdk-jenkins_
- 77_代码自动发布系统介绍-开发人员主机及gitlab主机安装软件_
- 78_代码自动发布系统介绍-jenkins-server安装maven-git-docker_
- 79_代码自动发布系统介绍-harbor-server安装harbor-docker_
- 80_代码自动发布系统介绍-web-server安装docker_
- 81_代码自动发布系统介绍-添加开发者密钥至gitlab_
- 82_代码自动发布系统介绍-添加jenkins密钥至gitlab及添加jenkins-server访问gitlab-server凭据_
- 83_代码自动发布系统介绍-添加jenkins用户到docker用户组_
- 84_代码自动发布系统介绍-jenkins-server添加插件_
- 85_代码自动发布系统介绍-jenkins全局工具配置_
- 86_代码自动发布系统介绍-jenkins系统配置-ssh配置_
- 87_代码自动发布系统介绍-项目代码获取及数据库配置_
- 88_代码自动发布系统介绍-项目代码上传至gitlab-server_
- 89_代码自动发布系统介绍-准备项目发布基础应用镜像-tomcat镜像_
- 90_代码自动发布系统介绍-jenkins任务创建_
- 91_代码自动发布系统介绍-项目发布过程_
- 06_容器编排(k8s)
- day01-11-9
- day02-11-11
- day03-11-12
- day04-11-14
- day05-11-15
- day06-11-17
- day06-11-18
- 07_k8s极速入门(赠送)
- 01_k8s极速入门课程介绍
- 02_k8s极速入门_k8s初识
- 03_k8s极速入门_k8s功能
- 04_k8s极速入门_k8s架构
- 05_k8s极速入门_k8s集群部署
- 06_k8s极速入门_k8s集群客户端工具 kubectl
- 07_k8s极速入门_k8s集群资源清单(YAML)文件书写方法
- 08_k8s极速入门_k8s集群NameSpace(命名空间)
- 09_k8s极速入门_k8s集群核心概念 Pod
- 10_k8s极速入门_k8s集群核心概念 Controller(控制器)
- 11_k8s极速入门_k8s集群核心概念 Service
- 12_k8s极速入门_结课
- 08_Kubernetes高级教程营销视频(赠送)
- 00_环境说明
- 01_Pod进阶
- 02_Controller进阶
- 03_Service进阶
- 04_kubernetes集群PaaS Rancher
- 05_在kubernetes集群中kubesphere部署
- 06_kubernetes集群 zookeeper部署
- 07_kubernetes集群应用实践 kafka部署
- 07-第7阶段-Python运维开发
- day01-Python基础
- 01-python介绍_
- 02-python起源与优缺点_
- 03-python应用场景_
- 04-解释型语言与编译型语言_
- 05-python版本说明与第一个python程序_
- 06-python3的安装_
- 07-pycharm介绍与安装准备_
- 08-pycharm安装过程演示_
- 09-上午内容小结_
- 10-python换行打印与不换行打印_
- 11-带颜色的打印与打印常见异常_
- 12-python代码注释_
- 13-python代码规范_
- 14-python变量介绍_
- 15-python变量命名规则_
- 16-python变量的创建_
- 17-python一次定义多个变量-两个变量值的交换_
- 18-变量的类型_
- 19-变量类型的转换_
- day02-Python流程控制
- 01-input输入与强类型概念解释_
- 02-格式化输出1_
- 03-格式化输出2与小结_
- 04-格式化输出题目讲解_
- 05-运算符_
- 06-判断语句-单分支_
- 07-判断语句-双分支-多分支_
- 08-判断语句-示例讲解1_
- 09-判断语句-示例讲解2_
- 10-判断语句-示例讲解3与拓展_
- 11-if嵌套_
- 12-if嵌套补充说明_
- 13-循环介绍-while格式_
- 14-while循环_
- 15-课堂补充_
- 16-for循环格式_
- 17-for循环题目讲解avi_
- day03-Python字符串
- 01-循环嵌套1_
- 02-循环嵌套2_
- 03-字符串的定义&输入与格式化输出_
- 04-字符串的上标介绍_
- 05-循环遍历打印字符串_
- 06-字符串的切片介绍_
- 07-字符串的切片思路_
- 08-字符串下标与切片小结_
- 09-字符串的常见操作_
- 10-字符串的常见操作2_
- 11-字符串的其它操作-不可变数据类型与可变数据类型_
- 12-字符串小结_
- 13-列表介绍-创建列表_
- 14-列表的下标-循环遍历-切片_
- 15-验证列表为可变数据类型_
- 16-列表的增删改查操作_
- 17-列表的其它操作-列表的拼接_
- 18-双列表操作(拓展)_
- 20-元组介绍与验证_
- 21-元组补充_
- day04-集合&IO操作
- 01-打印1-1000的质数题目讲解_
- 02-判断是否为强密码_
- 03-字典数据类型介绍_
- 04-字典的定义_
- 05-字典的增删改查操作_
- 06-字典的循环遍历_
- 07-字典题目讲解1_
- 08-字典题目讲解2-字典小结_
- 09-集合介绍_
- 10-集合的交并补操作_
- 11-集合的增删改操作说明-题目讲解_
- 12-集合题目讲解与集合小结_
- 13-6种数据类型总结与不同括号的比较总结_
- 14-python文件IO操作的3个步骤与基本格式_
- 15-文件r模式1_
- 16-文件r模式2_
- 17-文件r模式3_
- 18-文件r模式5个操作小结_
- 19-文件r模式-循环读取文件并查找特定的行_
- 20-文件r模式-题目讲解与小结_
- 21-文件r模式补充_
- 22-文件w与a模式_
- day05-Python函数
- 01-文件IO操作混合读写模式拓展_
- 02-为什么使用函数-函数的作用_
- 03-函数的定义与调用_
- 04-函数传参的作用_
- 05-函数的传参-形参&实参-位置参数-关键字参数_
- 06-函数的传参-默认值参数_
- 07-函数的传参-可变长参数_
- 08-函数的传参小结_
- 09-函数综合传参-多个关键字参数转字典_
- 10-函数返回值介绍_
- 11-函数返回值实例说明_
- 12-函数返回值实例说明2-小结_
- 13-嵌套函数_
- 14-嵌套函数小结-函数知识点综合练习_
- 15-函数里变量的作用域-全局变量与局部变量_
- 16-函数拓展_
- 17-模块的定义_
- 18-模块的分类_
- 19-模块的存放路径_
- 20-自定义函数示例_
- 21-模块的两种导入语法及其它们的区别_
- 22-os模块-查看和切换目录&列出目录内的文件_
- 23-os模块-查看文件状态与文件路径相关操作_
- 24-os模块其它操作-os.popen与os.system比较_
- day06-Python模块
- 01-正则表达式回顾_
- 02-re.match与re.search使用示例_
- 03-re.findall使用-正则使用的思路与题目说明_
- 04-使用python做文件处理的题目讲解_
- 05-re.splint使用_
- 06-re.sub使用_
- 07-pstuil模块介绍-第三方模块的安装方法_
- 08-psutil模块常见操作_
- 09-通过psutil&itchat监控报警示例_
- 10-psutil模块补充_
- 11-paramiko模块介绍_
- 12-通过paramiko模块上传下载_
- 13-通过paramiko模块上传下载2_
- 14-通过paramiko模块免密登录实现上传下载_
- 15-通过paramiko模块免密登录实现上传下载(linux平台)_
- 16-通过paramiko模块实现远程执行命令_
- 17-综合项目_
- 18-异常处理介绍_
- 19-异常处理语法示例_
- day07-Python面向对象
- 01-面向对象介绍_
- 02-面向对象介绍2_
- 03-前面用过面向对象的场景介绍_
- 04-类与对象介绍_
- 05-类的构成_
- 06-创建类-创建对象_
- 07-为类加上属性_
- 08-为类加上方法_
- 09-类变量-实例变量_
- 10-小结_
- 11-__str__和__del__魔法方法介绍(了解)_
- 12_私有属性与私有方法(拓展)_
- 13-继承介绍_
- 14-继承实例_
- 15-子类中方法增加-方法重写-方法中调方法_
- 16-子类中重构属性_
- 17-多层继承_
- 18-多重继承_
- 19-多层继承与两个对象的交互_
- 20-多重继承与两个对象的交互_
- 21-继承小结_
- 22-多态介绍(拓展)_
- 23-把类做成模块&然后被调用_
- day08-Web开发基础之HTML+CSS
- 文档
- 01_学习目标和内容_01w_
- 02_Web开发相关介绍_
- 03_开发工具的使用_
- 04_vscode的扩展及其其他轻量开发工具_
- 05_html的基础结构_
- 06_html标签分类和字符集_
- 07_标签、段落、换行、水平线标签_
- 08_案例新闻页面的实现_
- 09_div、span标签和标签的属性_
- 10_img标签_
- 11_链接、特殊字符、注释标签_
- 12_上午总结和回顾_01w_
- 13_列表标签_
- 14_表格_
- 15_表单一_
- 16_表单二_
- 17_css介绍及其作用_
- 18_css的定义位置和方式_
- 19_css基础选择器_
- 20_css复合选择器_
- 21_css的基本样式属性一_
- day09-Web开发基础之JavaScript
- 文档
- 01_回顾和反馈_01w_
- 02_显示隐藏元素和盒子大小设置_
- 03_行内元素和块级别元素_
- 04_盒子模型中的元素属性_
- 05_盒子模型的相关属性设置和背景设置_
- 06_学习目标和内容_
- 07_js相关介绍_
- 08_javascript的组成和书写位置_
- 09_变量_
- 10_数据类型_
- 11_运算符一_
- 12_上午回顾和总结_02w_
- 13_运算二_
- 14_if分支语句_
- 14_switch分支语句_
- 15_for循环语句_
- 16_while、dowhile循环语句和跳出循环关键字_
- 17_数组定义、访问及其遍历访问_
- 18_数组元素的操作_
- 19_函数_
- 20_对象_
- 21_DOM介绍及其获取元素方法_
- 22_js操作元素属性_
- 23_js事件绑定和改变元素样式_
- day10-Web开发基础之综合应用
- 文档
- 资料
- 01_回顾和反馈_02w_
- 02_学习目标和内容_01w_
- 03_jQuery的介绍和引入部署使用_
- 04_jQuery的选择器使用_
- 05_jQuery的事件_
- 06_jQuery的属性操作和隐藏显示操作_
- 07_jquery样式操作及其小例子_
- 08_上午回顾和总结_
- 09_bootstrap的介绍及其目录相关介绍_
- 10_bootstrap引入初始化和基本模板使用_
- 11_bootstrap全局css样式表格、表单、分页样式_
- 11_bootstrap全局css样式容器和按钮样式_
- 12_bootstrap的js插件模态框实现_
- 13_bootstrap实现案例主机列表_
- 14_主机列表模拟删除和layer提示框使用_
- 15_ajax介绍及其聊天接口调用_
- 16_ajax加载数据并动态加载到页面中_
- day11-Web框架之Django一
- 软件
- 文档
- 01_回顾和反馈_03w_
- 02_静态页面例子_
- 03_学习目标和内容_
- 04_Django相关介绍_
- 05_开发前准备工作_
- 06_安装Django并创建项目和目录的了解_
- 07_Django创建应用并启动服务_
- 08_MVT模型及其Django的使用原理流程介绍_
- 09_快速上手_
- 10_获取请求信息_
- 11_Django项目通过Pycharm启动管理_
- 12_服务器响应信息设置_
- 13_上午复习和总结_
- 14_GET请求传参和接收_
- 15_POST请求传参和接收_
- 16_QueryDict对象数据获取_
- 17_视图加载模板_
- 18_案例加载博客文章页面_
- 19_URL匹配规则_
- 20_路由的匹配方式_
- 21_反向解析URL_
- 22_URL路由分文件管理_
- day12-Web框架之Django二
- 文档
- 01_回顾和反馈_04w_
- 02_作业主机列表加载到Django中_
- 03_作业简单实现登录原理_
- 04_学习目标和内容_
- 05_类视图介绍及其语法_
- 06_类视图写法简单登录逻辑实现_
- 07_模板分应用部署使用配置_
- 08_模板语法之变量的使用_
- 09_模板语法之locals函数传统所有变量_
- 10_模板中list和dict值的获取_
- 11_模板默认过滤器_
- 12_上午回顾和复习_03w_
- 13_判断语句_
- 14_遍历列表_
- 15_遍历字典_
- 16_单参数的自定义过滤器_
- 17_多参数自定义过滤器_
- 18_模板继承方式实现_
- 19_点击标签高亮的小例子_
- day13-Web框架之Django三
- 文档
- 01_回顾和反馈_05w_
- 02_学习目标和内容_
- 03_ORM相关概念_
- 04_映射关系_
- 05_创建模型定义表的字段_
- 06_字段属性设置_
- 07_模型元数据(可选)_
- 08_迁移数据库_
- 09_windows安装mysql_
- 10_Django配置使用MySQL_
- 11_上午回顾和复习_
- 12_添加数据之save方法_
- 13_添加数据之create方法_
- 14_查询数据一_
- 15_查询数据二_
- 16_更新数据_
- 17_删除数据_
- 18_ORM内置查询字段_
- 19_ORM关系概述及其多对一关系的模型的创建_
- 20_ORM关系模型多对一的数据操作_
- 21_ORM关系模型多对多的数据表创建_
- day14-CMDB系统开发一
- 软件
- 文档
- 01_回顾和反馈_06w_
- 02_CMDB的相关概念_
- 03_创建CMDB项目框架并初始化_
- 04_管理后台基础页面实现_
- 05_管理后台首页面实现_
- 06_高级视图类之TemplateView_
- 07_登录基本实现_
- 08_Django用户系统实现登录_
- 09_上午回顾和复习_
- 10_URL拦截器_
- 11_注销功能实现_
- 12_登录原理解析(扩展)_
- 13_展示用户列表_
- 14_扩展基础用户信息_
- 15_高级视图类之ListView_
- 16_批量创建用户测试数据_
- 17_分页的基础实现_
- 18_分页调整_
- day15-CMDB系统开发二
- 软件
- 文档
- 01_添加用户_
- 02_更新用户_
- 03_删除用户_
- 04_用户状态更新_
- 05_用户组管理一_
- 06_展示用户组列表_
- 07_创建用户组_
- 08_更新用户组_
- 09_Django权限介绍_
- 10_展示权限列表并自定义权限_
- 11_用户权限设置功能_
- 12_用户权限使用_
- 14_权限管理模块_
- day16-CMDB系统开发三
- 01_资产机房模型设计_
- 02_展示机房列表_
- 03_添加资产机房_
- 04_前端传输json的方法_
- 05_后端接收json转字典_
- 06_更新资产机房信息_
- 07_删除资产机房_
- 08_资产用户列表展示_
- 09_添加资产用户_
- 10_更新资产用户_
- 11_删除资产用户_
- 12_资产主机模型数据表设计_
- 13_资产主机列表展示_
- 14_资产主机收集信息的方式区别_
- 15_客户端Python环境部署_
- 16_数据收集客户端脚本介绍使用_
- 17_添加资产主机_
- 18_定时更新资产主机信息及其cmdb的相关扩展_
- 08-阶段考试试卷与答案
- 1-第一阶段
- 2020年运维+网络安全基础升就业测试题-答题卡 .docx
- 2020年运维+网络安全基础升就业测试题.docx
- 2-第二阶段
- (全国)Linux系统服务和SHELL编程测试题-第1套卷-试卷答案20200212.doc
- (全国)Linux系统服务和SHELL编程测试题-第1套卷.docx
- (全国)MySQL数据库DBA测试题-第1套-试卷答案20200212.doc
- (全国)MySQL数据库DBA测试题-第1套.docx
- 3-第三阶段
- (全国)运维项目架构阶段第1套卷-试卷答案20200212.doc
- (全国)运维项目架构阶段第1套卷.docx
- 4-第四阶段
- (全国)运维自动化阶段第1套卷-试卷答案20200212.doc
- (全国)运维自动化阶段第1套卷.docx
- 5-第五阶段
- 运维试题.txt
- 6-第六阶段
- (全国)云计算测试阶段第1套卷-试卷答案20200212.doc
- (全国)云计算测试阶段第1套卷.docx
- Linux资料
- 04 Linux Shell脚本自动化编程实战(无基础的学习)
- 第01章__Shell能做什么(10集)
- 第02章__Shell变量精讲(8集)
- 第03章__条件测试及流程控制(10集)
- 第04章__循环及并发控制(15集)
- 第05章__非交互式expect(3集)
- 第06章__数组应用实战(5集)
- 第07章__函数传参及返回(7集)
- 第08章__Shell内置命令(2集)
- 第09章__RE正则表达式(6集)
- 第10章__Sed流编辑器(5集)
- 第11章__awk文本处理工具实战(8集)
- 第12章__项目实战之 系统性能分析(5集)
- 第13章__项目实战之 主机存活状态(3集)
- 第14章__项目实战之 Nginx日志分析(4集)
- 第15章__项目实战之 文件备份保存(2集)
- 第16章__项目实战之 多机部署MySQL(3集)
- 第17章__项目实战之 多机部署LNMP(4集)
- 第18章__项目实战之 配合zabbix信息收集(3集)
- 18个Linux Shell脚本经典案例
- shell
- 视频
- 20 工具箱
- VMware
- vm_镜像
包含内容
- · 01-第1阶段-运维基本功
- · day01-运维概述与Linux系统安装
- · 01-学习目标_
- · 02-运维概述与未来发展方向_
- · 03-运维的诞生以及行业发展前景_
- · 04-铁三角的概念_
- · 05-部门职责与上线生产_
- · 06-网站的基本概念_
贡献者
林一
黄金
学习社区
1 人正在学习
编程与技术实践交流
交流编程基础、项目实践、数据库和部署问题。提问请说明环境、复现步骤与已尝试的方法。