Giter Club home page Giter Club logo

bestsre's Introduction

运维工程师进阶升级之路

版本信息

版本号 更新时间 备注
V1.0 2019-1-20 首次发布
V1.0.1 2019-4-26 增加了相关的知识点
V2.0 2019-05-13 增加知识点,进一步完善
V3.0 2021-04-20 补充整个知识体系

前言

Linux 运维工程师进阶升级之路由公众号【民工哥技术之路】作者【民工哥】编写、整理发布而成,我的故事: 民工哥的十年故事:杭漂十年,今撤霸都!。回头看看,写公众号也有快六年的时间了,做一件事很容易,但坚持做一件事情六年应该不是件容易的事。一路走来,收获了众多读者的肯定与支持,同时在自己的知识体系建立、建全上也取得了不小的成就。在这期间,我写的书:Linux系统运维指南 出版(2020年4月),同年10月,我拿到了2020年人民邮电出版社/异步社区《最具影响力作者》。除了感谢这个伟大的时代、家人、朋友,还要感谢无数支持我的读者们,谢谢你们。

其实,很多熟悉我的老读者都知道,我也算是 0 基础起步自学至今的,所以,对于自学,我也总结了一些方法,或者说分享一下我的经验:民工哥自学方法。对于需了解整个运维知识体系学的过程可以参考:运维工程师进阶升级之路思维导图

现目前整个系列文章统一入口也在公众号上,后期更多增加、完善进去的内容也会统一同步发布到公众号中,欢迎大家关注(可扫文末二维码加关注哦)!!

运维工程师这个岗位不同于后端开发岗位,到底运维工程师平时做什么?老司机告诉你:正规的运维工作是什么的?。而且这个岗位对技能要求是越来越高,不仅仅要求需要知识的深度,还要求要有一定的广度,深度就是需要不断学习运维知识体系的知识,广度就是运维岗位上下游(测试与开发)岗位的一些知识体系,至少是需要做到了解基础的掌握程度。

因此,这就对运维工程师们提出了更高的要求,首先得有一颗不断学习的心,其次坚持的毅力是必须的,然后就是不断和实践、操作与总结,重复再重复, 时间久了才能形成自己的一套知识体系。

正因为这些原因,才有了上面的《运维工程师打怪升级进阶成神之路》的出现,初衷很简单,就是将我的所学与所总结的学习路线分享给大家,希望对后面的爱好者、学习 Linux 运维的朋友们有所帮助、有所借鉴。以便你们更好的学习与掌握其中的知识点,然后也能更轻松的运用到企业的实际工作中去。

基础入门篇

网络基础

这是每一个IT从业者必备的基础中的基础,比如:TCP/IP协议、路由基础这些必备的 6 大计算机网络基础知识点!是一定要熟悉与掌握的,否则无法展开后面的系统学习的。下面一张比较全的计算网络基础的学习思维导图: 如果你是有此方面基础的可不必学习了,如果是没有网络基础的,建议你去看一看我公众号上很早之前写过的一些关于网络方面的文章,这样也可以很快的熟悉这方面的知识点。

系统基础

首先就是系统的安装与基础配置:Centos7安装教程,有需求的可以参考这个教程,安装其实是非常简单的。

对于系统目录、文件系统、权限等内容。前面的版本也介绍的非常清楚,这里不再一一赘述。也可以参考这里:Linux 系统基础入门知识点

Linux 必学的常用命令

这一块的知识点,在入门阶段是非常重要的一块,掌握的好坏直接影响到后面的具体操作与学习,而且,这里列举的这些常用管理命令,也是我们日常工作中要用到的(属于重点掌握内容之一)。

这部分详细介绍系统运维常用命令及其参数说明,并且配有应用案例详解,基础必备!

脚本入门与进阶

这部分介绍Shell脚本编程的基础入门与进阶知识,包括编写方法分享、案例分享。虽然说现在Python在运维工作中已经使用很普遍,但是很多企业实际工作中的时候还是会用到 shell 脚本,它有助于你在工作环境中自动完成很多任务。在减少重复工作量的同时,也会提高不少工作效率!因此,Shell脚本编程也是运维工程师必备的工作技能之一!

更多详细内容可以查阅专栏:Shell 脚本编程

Nginx 配置与优化

基础的服务安装、配置文件介绍、虚拟主机配置实践、Nginx优化配置详解、LNMP架构Nginx反向代理负载均衡配置、Nginx+Tomcat多实例及负载均衡配置、高可用、Nginx 版本的平滑升级与回滚、Nginx限流配置、Nginx日志生产实战、Nginx配置文件在线生成工具介绍等。

详细内容可以查阅专栏:Nginx 学习专栏

数据库基础入门

无论你是开发、运维,还是测试,数据库是必备的技能之一。在正式学习相关具体的数据库服务之前,我们还需要了解一下一些基础知识:可以查看:数据库基础知识专栏)。

MySQL 数据库

整个知识体系包括以下几个部分。MySQL 数据库的基础知识,如:数据类型、存储引擎、性能优化(软、硬及sql语句),MySQL 数据库的高可用架构的部分,如:主从同步、读写分离的原理与实践、跨城容灾、数据的备份与恢复等,然后介绍了 MySQL 的管理命令、数据库语言的命令、库与表的管理工具、性能分析与工具的使用、MySQL 数据库服务器的硬件选型、性能监控、开发设计规范等知识。

死磕数据库系列(五):MySQL 数据类型与存储引擎介绍

死磕数据库系列(六):MySQL 索引详解

死磕数据库系列(七):MySQL 性能优化(硬件/系统配置/表结构/SQL语句)

死磕数据库系列(八):MySQL 主从同步详解

死磕数据库系列(九):MySQL 读写分离详解

死磕数据库系列(十):MySQL 数据库的备份与恢复

死磕数据库系列(十一):MySQL 日志文件解析(类型、作用)

死磕数据库系列(十二):MySQL 分库分表(何时分?怎么分?)

死磕数据库系列(十三):MySQL 事务与隔离级别

死磕数据库系列(十四):MySQL 锁机制详解(表级锁、页级锁、行级锁)

死磕数据库系列(十五):MySQL 存储过程、自定义函数、事务、流程控制的语法、创建和使用

死磕数据库系列(十六):MySQL 单表操作介绍

死磕数据库系列(十七):MySQL 多表操作介绍

死磕数据库系列(十八):MySQL 表的七大约束

死磕数据库系列(十九):MySQL  视图、触发器的原理与实战

死磕数据库系列(二十):MySQL 数据库 DDL、DML、DQL、DCL 语言理论与实践(sql 8.0 版)

死磕数据库系列(二十一):MySQL  多版本并发控制 MVCC 原理及实现

死磕数据库系列(二十二):MySQL 数据库机房架构与跨城容灾

死磕数据库系列(二十三):MySQL 高可用方案选型解析

死磕数据库系列(二十四):MySQL 级联复制与双主双从配置实战

死磕数据库系列(二十五):MySQL 高可用之组复制(MGR)详解

死磕数据库系列(二十六):MySQL 高可用之单主、双主模型组复制配置实践

死磕数据库系列(二十七):MySQL 常用管理命令介绍

死磕数据库系列(二十八):MySQL InnoDB Cluster 多节点高可用部署实战

死磕数据库系列(二十九):MySQL Router 实现数据库读写分离配置实践

死磕数据库系列(三十):MySQL 针对 Swap 分区的运维管理

死磕数据库系列(三十一):MySQL 服务器 CPU、磁盘、内存等硬件选型

死磕数据库系列(三十二):MySQL 数据库、数据表管理工具介绍

死磕数据库系列(三十三):MySQL 性能分析与相关工具的使用

死磕数据库系列(三十四):MySQL 性能测试工具 sysbench 详解

死磕数据库系列(三十五):MySQL 数据库性能监控

死磕数据库系列(三十六):MySQL 开发设计规范、SQL 编写规范及安全规范

PostgreSQL 数据库

PostgreSQL 是一个功能强大的开源数据库系统。经过长达15年以上的积极开发和不断改进,PostgreSQL已在可靠性、稳定性、数据一致性等获得了业内极高的声誉。目前PostgreSQL可以运行在所有主流操作系统上,包括Linux、Unix和Windows。

进阶数据库系列(一):PostgreSQL 基础入门与安装

进阶数据库系列(二):PostgreSQL 目录结构与配置文件 postgresql.conf 详解

进阶数据库系列(三):PostgreSQL 常用管理命令

进阶数据库系列(四):PostgreSQL 访问控制与认证管理

进阶数据库系列(五):PostgreSQL 语法详解

进阶数据库系列(六):PostgreSQL 数据类型与运算符

进阶数据库系列(七):PostgreSQL 常用函数介绍

进阶数据库系列(八):PostgreSQL 锁机制

进阶数据库系列(九):PostgreSQL 执行计划

进阶数据库系列(十):PostgreSQL 视图与触发器

进阶数据库系列(十一):PostgreSQL 存储过程

进阶数据库系列(十二):PostgreSQL 索引技术详解

进阶数据库系列(十三):PostgreSQL 分区分表

进阶数据库系列(十四):PostgreSQL 事务与并发控制

进阶数据库系列(十五):PostgreSQL 主从同步原理与实践

进阶数据库系列(十六):PostgreSQL 数据库高可用方案

进阶数据库系列(十七):PostgreSQL 基于 Patroni 高可用架构部署及故障切换

进阶数据库系列(十八):PostgreSQL 基于 repmgr 高可用架构实践

进阶数据库系列(十九):PostgreSQL 基于 Pgpool 实现读写分离

进阶数据库系列(二十):PostgreSQL 数据库备份与恢复

进阶数据库系列(二十一):PostgreSQL 数据目录同步工具 pg_rewind

进阶数据库系列(二十二):PostgreSQL 数据库作业调度工具 pgAgent

进阶数据库系列(二十三):PostgreSQL 性能优化

进阶数据库系列(二十四):PostgreSQL 数据库日志与日常巡检

进阶数据库系列(二十五):PostgreSQL 数据库日常运维管理

进阶数据库系列(二十六):PostgreSQL 数据库监控管理

Nosql 数据库

Nosql 数据库是一种非关系型数据库服务,它能解决常规数据库的并发能力,比如传统的数据库的IO与性能的瓶颈,同样它是关系型数据库的一个补充,有着比较好的高效率与高性能。专注于key-value查询的redis、memcached、ttserver。

我们这里会重点介绍:Redis、MongoDB、ElasticSearch。

Redis

Redis 是一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server(远程数据服务),使用C语言编写,Redis是一个key-value存储系统(键值存储系统),支持丰富的数据类型,如:String、list、set、zset、hash。

详细内容可查阅专栏:

MongoDB

MongoDB 是面向文档的 NoSQL 数据库,用于大量数据存储。MongoDB 是一个在 2000 年代中期问世的数据库。属于 NoSQL 数据库的类别。

详细内容可查阅专栏:

ElasticSearch

ElasticSearch是一款非常强大的、基于Lucene的开源搜索及分析引擎;它是一个实时的分布式搜索分析引擎,它能让你以前所未有的速度和规模,去探索你的数据。它被用作全文检索结构化搜索分析以及这三个功能的组合。

详细内容可查阅专栏:

Tomcat 技术实践

Tomcat 隶属于 Apache 基金会,是开源的轻量级 Web 应用服务器,使用非常广泛。客户端用户点击浏览器服务连接,浏览器通过客户端底层服务通过路由传送报文,目标服务器获取解析报文,Tomcat监听程序触发处理请求。

Tomcat 相关知识点在面试中出现的几率并不高,所以,很多人忽略了对 Tomcat 相关技能的掌握,其实它也是非常重要的知识点之一。详细内容可查阅专栏:Tomcat web 技术实践

企业生产项目实践

一个中小企业生产环境项目实践(将之前的知识连贯运用的实践):

常用中间件服务

介绍常用中间件服务(Kafka\Rabbitmq\Zookeeper等)相关的日常运维所需知识体系。

Kafka

Kafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消息系统项目,该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。

关于消息中间件 Kafka 系列的学习文章,请参阅:

Rabbitmq

RabbitMQ是由erlang语言开发,基于AMQP协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。

RabbitMQ 是一个消息中间件:它接受并转发消息。更多关于消息中间件 RabbitMQ 系列的学习文章,请参阅:

Zookeeper

zooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。

更多关于 Zookeeper 系列的学习文章,请参阅:

Docker 容器技术

介绍 docker入门、安装、常用的命令、三剑客、私有仓库搭建以及容器监控等方面的总结。

详细内容可查阅专栏:Docker

Kubernetes 技术实践

介绍 Kubernetes 技术实践知识体系。从原理、部署开始,逐步深入去学各个知识点,比如:Pod 的实现原理、YAML语法、Kubectl使用指南、资源控制、数据存储、Harbor仓库、资源清单、服务发现、Ingress 服务、集群调度、集群管理工具、面试题、生产实践等。

详细内容可查阅专栏:k8s 技术实践

大数据运维体系

大数据概述

大数据(big data),指的是在一定时间范围内不能以常规软件工具处理(存储和计算)的大而复杂的数据集。说白了大数据就是使用单台计算机没法在规定时间内处理完,或者压根就没法处理的数据集。

大数据的特性

  • 大量 (Volume) :大数据的“大”首先体现在数据量上。在实际应用中,大数据的数据量通常高达数十 TB,甚至数百 PB。
  • 高速 (Velocity):大数据的“高速”指高速接收乃至处理数据 — 数据通常直接流入内存而非写入磁盘。
  • 多样化 (Variety):多样化是指数据类型众多。

Hadoop 是用于处理大数据的工具之一。Hadoop 和其他软件产品通过特定的专有算法和方法来解释或解析大数据搜索的结果。

在大数据处理上,Hadoop并非是唯一的分布式处理架构,但是对于大部分的企业来说,基于Hadoop已经能够满足绝大部分的数据需求,因此才会成为现在的主流选择。

分布式存储

分布式文件系统是分布式领域的一个基础应用,其中最著名的毫无疑问是 HDFS/GFS/ceph/MinIO 。如今该领域已经趋向于成熟,但了解它的设计要点和**,对我们将来面临类似场景/问题时,具有借鉴意义。

详细内容可查阅专栏:分布式存储技术实践

代码管理(Git)

作为目前世界上最先进的分布式版本控制系统(没有之一),Git 是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理。Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发。随着时间的推移,Git 发展到今天,已经成为了众多开发者必备的开发工具。

详细内容可查阅专栏:Git 技术

企业级云计算平台 Openstack

日志平台

介绍日志平台相关的日常运维所需知识体系,日志管理也是日常工作中非常重要的一项内容。比较主流的是ELK stack和Graylog。ELK目前很多公司都在使用,是一种很不错的分布式日志解决方案。详细内容可查阅专栏:日志平台

企业生产监控

监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供翔实的数据用于追查定位问题。企业生产环境监控系统介绍,包括但不限于各类工具(Zabbix、Prometheus 等)安装、配置、优化与实践经验总以及排错等,详细的监控工具使用可查阅专栏:监控系统

更多关于企业级监控平台的建设与运维管理,可以参阅专栏:

自动化系列(DevOps)

介绍企业自动化体系建设(DevOps)相关的日常运维所需知识学习。比如:Jenkins、CI/CD等。

常用工具

介绍常用工具(命令工具、其它工具)相关的日常运维所需知识体系。

企业面试

介绍企业面试经验、各类面试题详解等(面试题与面试经验总结分享),下面给大家列举了一些常见的面试题,更多关于企业面试题相关的知识学习,可以参考专栏:企业面试题集合

linux系统运维企业常见面试题集合(一)

linux系统运维企业常见面试题集合(二)

linux系统运维企业常见面试题集合(三)

Linux运维必会的100道MySql面试题之(一)

Linux运维必会的100道MySql面试题之(二)

Linux运维必会的100道MySql面试题之(三)

Linux运维必会的100道MySql面试题之(四)

Linux运维跳槽40道面试精华题

精心汇总的 24 道 shell 脚本面试题

面试中有哪些经典的数据库问题?

史上最全的大厂Mysql面试题在这里

值得一看的35个Redis面试题总结

学完这些内容这后,可以这么说,还是仅仅是开始,更多的还是要将所学的知识结合实际的生产环境,然后通过不断的实践去总结,慢慢的一点点去补充自己的整个知识体系的高墙,从而使之更坚固、更持久、更强大。

相关的内容持续更新中~~~~~

扫一扫,关注作者微信公众号查看更多精彩内容

image

bestsre's People

Contributors

mingongge avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.