如何快速成为一名Linux运维工程师
如何快速成为一名Linux运维工程师
如今的互联网,绝大多数的网站、服务、游戏均是跑在Linux上面的,虽说Linux发行版众多,只要玩熟了一种发行版,了解了Linux精髓、基本架构、设计原理,其他都是触类旁通的,千万不要在选择哪一发行版而浪费很多时间,不值当的,这就如同我是上清华好,还是上北大好呢?统称为[清北谜题]了,这里个人建议新手还是选择CentOS或者RHEL上手为好。
作为刚入门的同学,无非视频、书籍、网站帖子之类的学习方式,视频虽然讲得详细,但是所需要花费的时间也是巨大的,据我了解很少有人能持之以恒把一系列视频看完;网站帖子之类的,一般都比较散乱,不成学习系统,学起来如同没有头的苍蝇;书籍从目录来看就非常有条理,看书可以系统化的学习、循序渐进,不会初学者不知道从哪儿开始的感觉。建议选择一本Linux入门书籍,前期可以安装一个Linux虚拟机,重复练习为主要手段,把一本书好好吃透,重点是吃透,那么你也就入门了,尤其推荐想自学Linux系统的同学买一本《Linux就该这么学》,这本书从零基础开始讲起,涵盖的知识不仅实用,而且有实验可以做,随时检查自己的学习进度。
那么具体需要掌握哪些知识呢?这里罗列一些必须掌握的知识:
1、了解Linux FHS,这是Linux的体系结构,明白大致原理
2、重复60个常用Linux基础、命令,挂载
3、TCP/IP协议,网络配置相关知识
4、SSH原理及应用
5、防火墙的基本配置,iptables
在Linux下面掌握一些初级工具、技能是非常有必要的:
1、Vim编辑器,无论对于写配置文件,还是写语言脚本,Vim始终是Linux上面的必备神气,需要掌握基本操作方法、快捷键。
2、Git版本控制,很多人可能觉得没有必要,这个是开发才学的嘛,其实不然,今天Devops的日渐崛起,对于传统运维工程师来说是一个挑战,也是一个机遇。工程师们日常需要写大量的脚本,可以使用Git来管理、备份常用代码、脚本。
3、Shell编程,写脚本当然需要Shell啦,这也是基础。同上,作为Devops来说,再学习一门高效的脚本语言也是必需的,这里推荐Python,不过这是后话,先把Shell掌握了再说吧。
其实如果你把上面的要求掌握到80%,基本上算入门了,接下来需要去学习一些硬件知识,做运维工程师会经常和网络设备,服务器等硬件设备打交道,对于硬件知识也要做到了解。特别是判断硬件的优劣的核心参数,比如内存的存储介质、容量、速度、奇偶校验,CPU的制造工艺、核数线程、内外频、缓存等等。我们在工作中不仅仅只需要“软知识”,“硬知识”也是必不可少的关键技能,特别是当公司业务剧增,需要新增机房、服务器时,就要用很多“硬知识”了,网络传输介质的选择、UPS等等,都应该有所了解。
之前学习的都是基础的“软知识”,接下来就要学习一些高级的“软知识”。掌握最常用的服务搭建,每个公司也业务架构都不太一样,但是常用的服务也就那些,简单来说业务架构就是各种服务不同形式的组合。对于Linux运维工程师来说,你公司需要搭建各种服务器,比如文件共享服务器、Git服务器、数据库服务器、常见Web架构的部署、大公司可能还需要DHCP服务器等等,看着这么多是不是觉得学得东西好多呀!别怕,对于常见的服务搭建如果有兴趣可以直接学《Linux就该这么学》,书籍百度一下就有,也可以在线阅读http://www.linuxprobe.com/
一般来说你搭建某类服务器,都会有官方的指导手册。比如MySQL服务器的搭建、Git服务器搭建等等。Google到官网按照Tutorial手册一步一步来(FQ自己找梯子,百度到官网也行),基本上八九不离十的,当然也有很多网友现成的帖子可以直接翻翻看。这里需要注意的是,Linux的版本不一样,服务安装会有一些差异,当你遇到问题搜索的时候,建议加上Linux的发行版本,这样可以更加精准的匹配问题,你可以放心,你遇到的问题,你前面的无数人已经遇到过了(乐于分享回馈后来人)。
高阶的这里就不多说了,入门就入门,不乱指路了。在这里还想结合工作经验多啰嗦几句,前面说的Devops,也是将来的一个趋势,Linux运维工程师将不再是守着机房、服务器、苦逼的7*24小时值班,自动化监控、自动化运维是未来的发展方向,因此建议多学习一门开发语言,按目前国内外互联网环境分析,学Python是没错的,不解释。
本文非本人所写,原创转载自: http://www.toutiao.com/i6396439986673025537/