大家好,我是民工哥。认识或熟悉我的人都知道,是做运维出身的,所以,很多时候,有很多朋友喜欢问我一些有关运维的问题,比如:
- 我应该如何入门Linux系统运维?
- Linux系统运维到底需要学哪些技术?怎么学?
- 系统、服务报错了,如何处理?
- 为什么监控系统不报警,或报警没有通知...?
- 数据库丢数据了,如何恢复?如何有效地备份数据?
- Docker怎么学?学哪些内容?
- ......
其实,民工哥在初学运维时、刚工作时,也一样有这些问题,这很正常。
民工哥从事IT技术工作多年,从最初的桌面技术、网络工程师、再到运维,一路走来,算是披荆斩棘。谈不上有多老道,但也积累了一定的经验,也总结了一些对运维工作及对价值的理解。
运维是一个对技术要求比较全面的岗位,运维人员不仅要有一定的网络基础,还要掌握Linux系统方方面面的知识,而且对这些技术的学习、更新都有很高的要求。这对运维人员的学习能力是一种考验。既然职业发展对运维人员的要求如此严苛,那么运维人员就要针对不同的问题,不断地补充知识,扩大自己的研学范畴。
对于学习运维知识来说,一般都会经历初级入门阶段,进阶提高阶段这两个过程。所以,学习是进阶式的,是不断积累、总结的过程。
初级阶段:万事开头难,每一项技术,扎实的基础是入门的第一关。民工哥,根据自己的经验罗列了一些相关技术点,供大家参考,希望能帮助到大家快速入门。
运维技术到达进阶提高阶段,所涉及的知识面和专业点非常广,对素质也要求非常高。随着互联网的高速发展、业务规模越来越大、架构越来越复杂,对运维人员来说是一个不小的挑战。
以下,民工哥,根据自己的学习与工作经验,给大家罗列出这个阶段所需要学习的知识点,供大家参考。
1、最基础的服务,如SSH服务、NFS网络文件系统、DHCP/DNS、数据同步服务等。
2、LAMP/LNMP架构
- 各组件的基础知识
- 各组件的安装与配置
- 各组件的常用优化与排错
3、数据库
在互联网企业中,最常用数据库就是MySQL,这是必须要掌握的。除此之外,还需要了解、掌握常用的NOSQL数据库,如Redis、MongoDB等。
下面以MySQL数据库为例,介绍我们需要掌握哪些技术点。
- 多种安装方式:源码、二进制、Yum
- 优化:硬件、配置文件优化
- 常用管理与操作:多实例,权限配置,库、表数据的管理
- 备份与恢复:增量、全量备份与恢复,基于第三方工具的备份与恢复
- 常用的架构:主从同步,读写分离(基于官方或第三方组件)
- 故障排错:启动故障、数据不同步,误操作等
4、常用服务
对运维来说,常用的服务不少,如Java Web服务Tomcat、Jboss、Weblogic等。民工哥日常使用最多的是Tomcat,接触比较多的中间件服务,如Kafaka、RabbitMQ,但不需要掌握源码,只要求掌握日常的配置、优化、排错,以及一些与业务相关的架构调整等。
5、系统监控与报警
这是运维工作中的重点之一,监控服务软件有开源的、商业的,大部分开源软件能基本满足常用需求,像我们工作中常用的开源监控软件:早期有Nagios、Cacti,后来Zabbix逐渐取代了前两种,还会有一些专门针对某个方面开发的监控软件,如:数据库监控软件Lepus。但是,最终的选择还要以需求为主。
6、容器
容器技术是近年来企业招聘的硬性要求,越来越多的企业在容器化发展的路上,所以这方面的技术过硬,对于提升求职过程中的竞争力是非常有力的。
7、其它
对运维工作来说,在从业一定阶段后必须考虑的一个问题是:如何实现重复的工作自动化?这需要掌握一些自动化的基础理论与工具的使用,现在是全民上云时代,因此必须要熟悉与掌握第三方云产品的各类操作。
当然,需要学习与掌握的远远不止这些。因此,程序员必须具有坚持学习、永不言弃的精神!!!
民工哥总结了这些年的学习过程与在企业中不断积累的工作经验,整理成了一本书《Linux系统运维指南 从入门到企业实战》,目前已在火热销售中,眼下正值6.18 活动,有超低折扣,早买早学习,愿大家早升职加薪!!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。