Linux新手入门必备技术!请收藏!
天下武功,无坚不破,唯快不破,以势赢者势颓则,以力胜者力尽则亡。
畅意人生,百炼钢化为绕指柔,学习亦是。
随着企业的从传统机房-->云计算-->多云容器微服务的业务跃迁,Linux运维工程师的工作也发生了很大的变化,工作重点从传统的跑机房,装服务已经慢慢迁移到了云平台及微服务、容器化的运作模式。从腾讯、阿里、字节、百度、新浪、小米、网易等一线大厂的招聘需求可看出,在Linux运维领域,需要的人才已经偏向2条主线即:SRE(Site Reliability Engineer 网站可靠性工程师及DevOps(运维开发工程师)。
因此,马哥教育深耕行业多年,力争在运维领域走在前沿,其Linux课程体系,在即将到来的2021年也进行了全面升级,将课程提升为3大阶段,优化了30个关键技能模块,20+项企业实战项目案例;更新优化幅度达40%。实现了从Linux运维工程师(8-12K)-->Linux云计算工程师(12-18K)-->Linux云计算架构师及大厂SRE工程师(18-35K)全面进阶。
课程将SRE的全部技能分为3大板块,每个板块有10个核心技能模块。最终培养目标是把对标互联网P7+级别的SRE工程师。其中,像微服务配置中心及Apollo、分布式链路请求跟踪、微服务Dubbo分布式框架、指标采集、监控系统Prometheus与日志系统、Envoy集群管理、服务韧性与流量管理、可观测性和网格安全实战、Istio服务网格及应用、策略、遥测和网格安全为高薪必备模块,通过调研了解到,这些技术都是不少大厂明年即将上线的技术项目。从招聘需求来看,掌握这些后跳槽大厂,薪资至少要增长50%+以上。以下内容为2021版课程大纲,全面引入SRE工程师技术栈,从微服务、容器云、容器编排、服务治理、服务网格、链路追踪等全方位夯实SRE工程师所需关键技能,全网首发!
今天我们来看下从新手小白(0K)-->Linux运维工程师(8-12K)成长路径所许掌握的技术和项目实战。
- 模块一:Linux新手快速基础入门
- 模块二:面试必备-企业级 Shell 脚本编程实战
- 模块三:网络管理、内核及系统进程高级管理、加密安全通信及常见服务实战
- 模块四:Mysql 数据库实战技能全解
- 模块五:企业级Web服务、文件服务与LA/NMP架构实战
- 模块六:安全加固Iptables防火墙、网络安全OpenVPN及JumpServer堡垒跳板机
- 模块七:百万并发架构核心-Nginx服务及高级实战进阶
- 模块八:亿级PV站点架构LVS负载均衡集群解决方案
- 模块九:监控神器-Zabbix运维监控实战部署
- 模块十:Ansible快速安装部署与运维自动化实战
模块一:Linux新手快速基础入门
教学目标
- 手把手带领式教学,底层原理加实战结合,确保0基础学员100%入门;
- 采用Centos8与Ubuntu20.04双轨系统教学,更能满足各大厂商环境
- 底层原理和案例实战含金量比其他机构高出30%以上【可对比检验】
关键技能
- 冯诺依曼体系:输入单元、输出单元、cpu(运算器和控制器)、内存(memory);服务器、PC机及虚拟机简介
- 操作系统概述及Linux操作系统基础、Linux操作系统的发展历史;常见的开源协议;Linux哲学思想
- 手把手带领实现Linux虚拟化学习环境介绍:vmware、virtuabox ;(多虚拟化平台讲解)
- Linux发行商和常见发行版介绍,CentOS 7.X,8.X系统安装及Ubuntu系统安装 ;(最新版本讲解)
- 人机交互接口shell介绍:GUI(图形界面) and CLI(命令行界面)
- 基础系统命令使用入门:shutdown、reboot、poweroff、echo等
- Linux基础命令的通用语法格式:$ COMMAND OPTIONS ARGUMENTS详解
- bash的功能特性:常用快捷键、命令补全和路径补全、命令别名alias、命令历史history
- 目录管理类命令:mkdir、rmdir、tree和文件管理工具:cp, mv, rm及单源复制和多源复制
- 文件时间戳atime、ctime、mtime和文件常用命令nano、cat, tac, more, less, head, tail等
- 链接文件的创建ln [-s]及符号链接与硬链接区别(面试必备)
- I/O重定向之输入重定向、输出重定向、错误输出重定向实战用法
- Linux的用户、组、权限基础,进程安全上下文及用户和权限管理模型
- 用户管理命令useradd, usermod, userdel及解析库文件/etc/passwd
- Linux文件权限rwx及文件属性;Linux文件权限管理命令:chmod、chown、chgrp
- Vim编辑器基础应用及进阶:可视化模式、文件查找、多窗口模式
- 文本查看及处理工具wc, cut, sort, uniq, diff, patch等命令
- 运维必备技能:基本正则表达式及扩展正则表达式及案例演练
- 文件实时查找find命令全方位讲解,文件压缩工具compress、gzip、xz、zip、tar及各自的解压缩的使用
- rpm软件包安装及常见yum仓库配置与企业级标准配置实战 (参考阿里云企业级用法)
- Linux磁盘管理、LVM、snapshot快照、RAID:RAID-0, RAID-1, RAID-5, RAID-10, RAID-50级别
- 磁盘分区fdisk;文件系统创建mkfs、mke2fs;磁盘管理工具fsck;mount挂载;Swap分区设置和系统参数调优
模块二:面试必备-企业级 Shell 脚本编程实战
教学目标
- 掌握Linux平台下shell脚本编程思想;shell脚本基础语法;台shell脚本编程技巧
- 掌握shell脚本编程高级用法和函数等;可通过shell脚本编写运维工具
- 可通过shell脚本开发系统管理工具;可通过shell脚本完成企业实际应用项目
关键技能
- bash特性之变量:本地变量、环境变量、局部变量、位置参数变量
- bash Shell编程基础之逻辑组合与或非
- bash Shell脚本编程配置文件profile类、bashrc类、以及logout类文件详解
- bash Shell脚本编程之算术运算let VAR=算术表达式、VAR=$[算术表达式]、VAR=$((算术表达式))
- bash Shell脚本基础入门和算术运算进阶
- bash Shell编程的状态返回值$?及参数传递$1、$2、$3…,用户交互
- bash Shell编程之条件判断三种方式:test EXPRESSION [ EXPRESSION ]
- bash Shell编程的三种测试类型:数值测试、字符串测试、文件测试及组合条件&&、||
- bash Shell脚本编程选择执行之if语句:单分支,多分支详解及示例
- bash Shell编程选择执行之case语句详解
- bash Shell编程之循环执行之for语句详解与示例
- bash Shell脚本编程循环执行之until语句和while语句详解
- bash Shell脚本编程之break、continue、跳出循环实例
- bash Shell编程之while循环及for循环特殊用法示例
- bash Shell服务脚本框架详解及示例
- bash Shell编程之function及函数的生命周期详解
- bash Shell编程之函数的递归与返回return、传参;数组定义、声明及引用方式的讲解
- Shell脚本之字符串切片${var:offset:number}:基于模式取子串、查找替换、详解
- Shell脚本高级进阶之信号的相关基础列出trap -l、kill -l、man 7 signal;信号的捕捉:HUP, INT
- Shell脚本交互性工具expect工具介绍
- 项目实战:利用脚本实现MySQL服务的自动化健康性检查
- 项目实战:Shell脚本实现基于ssh key的批量部署
- 项目实战:利用脚本实现自动化运维管理发现php故障自动重启
- 项目实战:实现生产环境自动化管理Shell脚本,实现批量Ping服务器监测状态脚本
- 项目实战:生产环境用Shell进行日志访问IP和URL统计
- 项目实战:Shell脚本实现数据库文件和日志备份
模块三:网络管理、内核及系统进程高级管理、加密安全通信及常见服务实战
教学目标
- 全面掌握不亚于CCNA的网络知识,理解常见网络设备的工作原理
- 理解TCP/IP协议栈;掌握TCP和IP报文结构;精通IP地址规划在企业中实际用法
- 全面掌握http协议,互联网通信机制;C/S、B/S常见通信模式
- 掌握HTTP、DNS、CDN原理、互联网Web服务通信体系、httpd提供web服务实战
- 实现Linux平台网络配置、管理、安全加密,等常见系统级别安全加固
- 掌握Linux系统高级管理功能,掌握进程管理、Crontab计划任务、性能监控、开机流程、内核参数优化【高薪必备】
关键技能
- TCP/IP网络基础:OSI七层模型:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层;
- 网络设备概念MAC、网桥、交换机工作原理的讲解;VLAN及其工作机制
- 网络层:IP网络、子网、超网及报文路由
- 路由设备及相关的路由协议RIP、OSPF、BGP等协议
- tcp协议进程通信原理及tcp的有限状态机及其特性详解
- 进程通信方式:IPC,及socket;特权端口 :0 - 1 0 2 3 、注册端口 、动态端口;
- TCP/IP协议三次握手、四次断开11种状态机全面讲解 (不亚于CCNP深度)
- 路由分类:网络路由、主机路由、默认路由详解;子网掩码、网关、路由;
- Linux网络配置文件子网掩码、网关、等参数详解;网络管理相关命令ifconfig、route、netstat命令讲解;
- iproute家族ip link、ip address 、ip route、命令;常见的网络客户端工具ping/lftp/ftp/lftpget/wget;
- 网络bonding技术应用,实现多卡网卡绑定;ss命令、nmtui及nmcli命令
- Linux进程管理基础:父进程fork自身产生子进程;进程的优先级0-139含义,进程优先级nice值调优 进程的类型:守护进程和前台进程;与状态:running、ready、sleeping、zombie、stopped及分类 Linux进程管理工具ps、pgrep,pkill、pgrep, pkill、uptime、top、htop、vmstat、lsof等命令
- Linux任务计划at命令和周期性任务执行crontab命令详解; 内核的设计流派及linux内核的特点:模块化、支持动态装卸载;
- 运行7个启动级别讲解0关机、1单用户2、多用户3、多用户4、预留级别5、多用户模式6、重启;
- 系统内核空间初始化详细流程精解: POST --> BootSequence(BIOS) --> BootLoader(MBR) -->Kernel(ramdisk)--> rootfs(readonly)--> /sbin/init ();
- grub2启动引导程序配置及命令行接口、grub2配置及使用方式、单用户模式及救援模式修复grub2
- 常见内核参数:net.ipv4.ip_forward、net.ipv4.icmp_echo_ignore_all、vm.drop_caches
- 内核模块管理基础命令:lsmod、modinfo、modprobe、depmod
- 常见安全攻击方法示例、安全套接字层通信SSL基础、加密的目的及预防攻击的解决方案
- SSL/TLS加密传输开源实现OpenSSL、常见加密算法对称加密、公钥加密、单向加密、密钥交换
- 自建CA示例讲解(1) 生成私钥;(2) 生成自签证书;(3) 为CA提供所需的目录及文件
- 安全通信服务:OpenSSH服务;Linux系统安全模块:sudo安全切换工具及配置文件visudoer精讲
- DNS服务:DNS原理及服务实现、主-辅DNS服务器配置基础及相关概念详解、基于view的智能DNS实现
- CDN原理及互联网架构常见流量分发模式;http文本协议、URL统一资源定位符、request、response状态码
- Apache实现httpd虚拟主机、站点访问控制、基于用户的访问控制、持久连接、日志分析等应用配置实例精讲
- httpd-2.4的性能优化、模块mod_ssl应用配置;httpd压力测试工具ab、及curl、elink、htpasswd命令详解
模块四:Mysql 数据库实战技能全解
教学目标
- 全面掌握关系型数据库底层原理,了解数据库核心概念
- 掌握Mysql搜索引擎、库、表视图结构,数据类型,客户端管理工具,可全面管理数据库数据
- 掌握Mysql安装方式,部署模式、和配置文件参数,掌握企业Mysql常见用法
- 可与脚本结合,实现Mysql一键化部署,可实现基于Mysql的LAMP网站架构快速部署
关键技能
- 数据库概念和类型
- 关系型数据库管理系统介绍
- 关系型数据库的关系运算和设计范式
- 关系型数据库表、索引、视图及三层模型讲解
- MariaDB安装与安全配置
- 掌握常见数据库种类和区别Mysql生产环境安装、部署和配置应用
- 掌握数据库图形化管理工具PhpMyAdmin、SQLyog、Navicat;
- Mysql的客户端程序mysql、mysqldump、mysqladmin、mysqlimport工具介绍
- Mariadb数据类型:字符型、数值型、日期时间型简介
- Mariadb服务端和客户端命令使用 Mysql服务器全局变量、会话变量、及状态变量详解
- 着重讲解当前主流MySQL 优化版Mariadb 其特性;
- DML语句INSERT、DELETE、UPDATE、SELECT用法及生产环境注意事项;
- SQL语句之DDL命令CREATE、ALTER、DROP深入讲解
- 表的创建、修改、删除及表的状态信息查看
- 查询语句SELECT之多表查询、联合查询及子查询
- MySQL 及MariaDB 以实战方式,带领完成MySQL源码编辑安装、二进制安装、YUM安装、及MySQL 配置
实战案例
- 实战案例:实现Mysql5.7和5.8的一键安装脚本
- 实战案例:Mysql生产环境管理工具使用
- 实战案例:生产环境SQL语言操作数据库常见用法及安全事项
- 实战案例:基于LAMP实现Mysql用户授权、权限配置和管理
模块五:企业级Web服务、文件服务与LA/NMP架构实战
教学目标
- 掌握企业级Web服务常见架构,可设计和搭建LAMP小型互联网架构体系
- 可通过脚本一键搭建仿京东平台和个人博客系统;
- 掌握Linux平台实现企业常见文件共享和存储服务
- 实现中小公司常见Linux平台官方站点从web、数据库、程序、数据存储、脚本化管理等全方位治理
关键技能
- 通用网关CGI标准简介;php语言、Zend Engine解释器、加速器相关概念介绍
- LAMP基础原理应用入门(Linux+Apache+Php+Mysql)
- LAMP(将php编译成httpd模块)架构实战虚拟主机安装wordpress, phpwind, discuz
- Mysql图形管理组件phpMyadmin安装使用
- LAMP快速部署及LAMP企业级实战解析(Linux+Apache+Php-fpm+Mysql)【结合生产环境】
- php-fpm主配置文件和环境配置文件详解;性能最优式源码编译安装LAMP
- FTP文本传输协议C/S架构详解;FTP连接类型命令连接及数据连接的主动与被动模式
- VSftpd的匿名用户、本地用户及虚拟用户;VSftpd基于pam认证模块的授权实现
- NFS服务基础原理及配置;实现企业常见文件挂载传输服务
- Samba服务基础原理及配置;实现生产环境常用服务搭建
- 生产环境利用Rsync和Inotify 同步数据;利用sersync实现实时数据同步
实战案例
- 实战案例:编译安装基于Wordpress和京东网上商城的多虚拟主机,并用opcache加速
- 实战案例:实现一键安装LAMP脚本
- 实战案例:实现Rsyslog日志Mysql远程存储
- 实战案例:利用Sersync 实现LAMP的数据实时同步安全
模块六:安全加固Iptables防火墙、网络安全OpenVPN及JumpServer堡垒跳板机
教学目标
- 掌握Linux平台安全防火策略,常见攻击渗透形式、防火墙、网络安全机制
- 掌握Iptables通过四表五链构建企业级安全防火墙策略
- 掌握Iptables数据包转发和地址转化机制 实现生产环境常见网络防火墙iptables应用参数配置
- 掌握常见隧道协议PPTP、L2TP、IPSec、SSL VPN区别和生产环境常见用法
- 掌握OpenVPN开源项目企业级安装部署及应用案例
- 掌握开源堡垒机JumpServer应用、安装及资产管理与基本使用(马哥教育团队项目)
关键技能
- Linux平台网络安全和常见攻击模式解析;防火墙功能及特性概述
- iptables四表(fiter、mangle、nat、raw)五链(prerouting、input、forward、output 、postrouting)详解
- iptables主机防火墙简介; iptables-netfilter基础;基于内核层面网络和防火墙模块解析
- iptables 命令链管理、规则管理、规则查看基本用法
- iptables 基本匹配、扩展匹配、隐式扩展、显式扩展
- iptables多端口匹配、连接追踪、字符串匹配、时间匹配、并发连接数限制、ipset、速率匹配、报文状态匹配等企业级应用
- iptables规则保存、重载、生效机制及安全体系工具
- 通过iptables实现虚拟网络模型构建实例;iptables之forward转发应用实战
- iptables之SNAT源地址修改及DNAT目标地址修改、PNAT:端口修改实战演示
- Centos新版 firewalld防火墙技术及生产环境应用场景介绍
- OpenVPN简介、跳板机与应用场景、网络通信机制及证书环境初始化
- OpenVPN安装、配置及实现基于证书的客户端登录
- OpenVPN服务器维护、客户端证书快速签发、客户端证书吊销
- JumpServer简介、安装及资产管理与基本使用
- JumpServer服务器权限分配、命令审核、录像回放等功能应用
实战案例
- 实战案例:利用iptables实现企业网络安装访问控制
- 实战案例:利用iptables实现安全攻击防范,入侵检测防控,黑客CC攻击屏蔽等
- 实战案例:美团点评iptables防火墙策略分析
- 实战案例:实现基于openvpn的企业级VPN服务;实现openvpn证书安全、路由管理、安全控制
- 实战案例:JumpServer实现企业资产管理、多账户资产
- 实战案例:JumpServer录像回放、日志审核及命令审核
模块七:百万并发架构核心-Nginx服务及高级实战进阶
教学目标
- 掌握大型互联网多用户访问压力模型;掌握PV、UV、并发概念
- 掌握常见的网络I/O模型及同步/异步消息通知机制讲解;
- 掌握Nginx特性、工作机制、安装、配置、web服务实现、性能调优、常见模块运用
- 掌握Nginx/Tengine负载均衡、缓存、攻击防护、安全加密通信、日志管理、资源压缩等高级进阶
关键技能
- Web服务简介、常见的企业Web架构案例
- 常见的网络I/O模型及同步/异步消息通知机制讲解
- 高性能Nginx特性详解及LNMP架构介绍
- Nginx安装、配置文件详解及基本应用
- Nginx实现基于域名的企业PC与移动站点、Location基本使用
- Nginx性能优化、定位调试、定义客户端请求与限制、文件操作优化等实际应用详解
- Nginx模块应用之ngx_http_stub_status_module模块:输出Nginx基本状态信息详解
- ngx_http_referer_module模块:定义合法的referer数据来防止盗链
- Nginx模块应用之ngx_http_ssl_module启用SSL功能;nginx与OpenSSL模块升级
- Nginx模块应用ngx_http_rewrite_module及重写规则的定义方式,临时重定向、永久重定向
- Nginx模块应用之ngx_http_gzip_module实现对指定类型的资源压缩以节约带宽
- Nginx自定义访问日志为json格式、错误日志记录、压缩功能及其他优化
- 防盗链机制:ngx_http_referer_module模块
- LNMP架构核心模块:ngx_http_fastcgi_module模块
- 缓存服务:ngx_http_proxy_module模块
- 负载均衡七层调度:ngx_http_upstream_module模块
- Tengine及OpenResty简介、应用场景、对比 Nginx差异、安装方式、配置介绍
实战案例
- 实战案例:实现中小型互联网企业级LNMP架构Web站点
- 实战案例:生产环境企业pc网站与移动端配置SSL证书
- 实战案例:实现生产环境多模块组合应用及多域名虚拟主机线上配置
- 实战案例:实现生产环境常见7层负载均衡及缓存服务器部署项目案例
模块八:亿级PV站点架构LVS负载均衡集群解决方案
教学目标
- 掌握常见大型互联网架构方案及负载均衡概念
- 了解常见负载均衡集群解决方案以及负载均衡常见模式
- 着重学习LVS负载均衡核心概念、常见用法和4种集群模式及10种调度算法
- 可根据企业需求灵活搭建负载均衡LVS集群及多场景应对
关键技能
- 讲解Linux Cluster 集群概念,全面分析集群类别,介绍系统拓展的方式
- scale UP、scale OUT,讲解负载均衡集群概念、高可用集群概念、单点故障概念,分布式系统概念
- 深入讲解LVS 核心组件ipvsadm 和ipvs 模块,全面讲解CIP、VIP、DIP、RIP用法
- 常见的四种集群模式LVS-NAT、LVS-DR、LVS-TUN、LVS-FULLNAT优点及使用
- LVS 10种调度方案RR、WRR、SH、DH、LC、WLC、SED、NQ、LBLC、LBLCR详解及应用
- 负载均衡集群中会话保持方式:源地址hash、会话集群、会话服务器
- ipvsadm集群服务管理工具使用
- LVS-NAT、LVS-DR的配置以及负载应用(容器化部署RealServer)
- LVS-FW方式实现LVS的affinity应用
- LVS FWM 持久性连接应用环境理论及实现
实战案例
实现多个网上商城的WEB的负载均衡
模块九:监控神器-Zabbix运维监控实战部署
教学目标
- 掌握运维必备监控体系知识、监控指标、以及性能相关关键参数
- 了解企业常见监控体系、开源实现方式和应用协议
- 掌握Zabbix概念、核心组件、安装部署、企业级配置、生产环境应用实例
- 掌握Zabbix高级用法:插件定制、报警定制、自定义页面、自动发现功能、故障自愈功能
关键技能
- 运维监控核心技术框架、监控关键指标、监控硬件、软件、意外事故、关键事件、监控系统、监控通道、报警机制
- 详细介绍监控系统SNMP协议、讲解Snmp命令读取、数据传输、通用支持、使用场景等知识点,全面介绍配置和使用方式
- 对比介绍Nagios、Zabbix、Ganglia、Cacti开源监控体系方案以及优劣势,并着重讲解当今主流开源监控体系方案Zabbix
- 全面介绍Zabbix5.X监控特性、如无代理监控、Web服务监控数据库监控、Zabbix内部监控、Zabbix特性及功能详解
- 详细介绍常用术语、主机、主机组、监控项、触发器、事件、动作、报价升级、媒介、通知、远程命令、模板、应用、Web场景等
- Zabbix安装依赖组件和各模块功能,全面讲解Zabbix安装过程注意事项,详解Zabbix数据库安装过程和日志设置方
- 详细介绍Zabbix监控项含义、以及使用key实现自定义监控项、分组配置、监控事件间隔、绘图功能,核心指标模板等
- 现系统核心指标监控如CPU、内存、硬盘、网络、LOAD等,并监控Nginx服务的数据指标,包括访问人数、并发、访问量等
- Zabbix企业级高级自动化功能,自动发现注册、网段扫描等,自动注册高级应用核心知识点,并通过模板匹配方法,实现快速配置
- 详细讲解Zabbix报警机制的实现及其相应的设置,并介绍基于微信、邮件、短信、电话等全方位报警体系和核心要素
- Zabbix 故障自治愈功能简介与实现案例;zabbix API使用基础及通过API快速添加监控服务器案例
- 实现Redis、Nginx、Memcached、Haproxy、Tomcat、Keepalived、Docker等常见服务生产环境监控模板使用与定制
实战案例
- 搭建生产环境zabbix server/agent安装、配置、优化及监控Linux服务器
- 实现常见服务Nginx、Mysql、Php、CPU、网卡、内存等核心关键指标监控和报警策略
模块十:Ansible快速安装部署与运维自动化实战
教学目标
- 掌握企业常见运维自动化方案,熟悉Puppet、Ansible、Cobbler、Saltstack、Func、Fabric区别;
- 掌握Ansible管理用法、以及安装方法、配置文件详解、模块说明、基于私钥认证、批量操作;
- 掌握生产环境基于Ansible自动化运维常见场景
- 实现用Ansible批量安装nginx、memcached、php-fpm等常见应用
关键技能
- 自动化运维技术框架系统安装、程序发布、应用布局宏观介绍
- Ansible工具特性及工作机制详解
- Ansible多方式安装及简单应用
- Ansible常用模块command、shell、copy、cron、fetch、file、service、user、setup等模块详解
- YAML语言介绍与语法
- Anshible playbook(剧本)核心元素Hosts、Tasks、Variables、Templaters、Handlers、Roles详解
- 详细介绍Zabbix监控项含义、以及使用key实现自定义监控项、分组配置、监控事件间隔、绘图功能,核心指标模板等 Ansible playbooks基础组件实际应用实例讲解
- Ansible 创建角色roles实现代码重用详解
- role内各目录中可用的文件定义及角色调用实现
- Zabbix 故障自治愈功能简介与实现案例
实战案例
- 实战案例:Ansible实现LNMP生产环境实践 ;
- 实战案例:用Ansible进行运维常见应用服务管理和部署
- 实战案例:用ansible批量收集服务器状态信息和资源使用状况