之前曾看到一篇新闻,Linux之父建议大家找一份基于Linux和开源环境的工作。今天就来聊一聊我的想法,本人8年Linux运维一线经验,呆过很多互联网公司,从一线运维做到运维架构师一职,也见证了中国运维行业从无人问津到可圈可点的整个演变过程。
Linux系统目前主要应用在企业服务器上,学习Linux,更多的是向Linux系统/运维工程师方向进军。比如云计算系统工程师,大数据运维工程师,运维开发工程师其职位都是Linux运维工程师的进阶。下面就整体介绍下,作为过来人,怎么学习Linux,以及Linux入门和学习的路线。
运维学习需要分为四个阶段:
Linux初级入门 > Linux中级进阶 > Linux高级提升 > 资深细分方向进阶
第一阶段:初级入门
初级阶段需要把linux学习路线搞清楚,任何学习都是循序渐进的,所以学linux也是需要有一定的路线,个人建议学习的路线如下:
Linux基础知识、基本命令(起源、组成、常用命令如cp、ls、file、mkdir等常见操作命令)
Linux用户及权限基础
Linux系统进程管理进阶
Linux高效文本、文件处理命令(vim、grep、sed、awk、find等命令)
shell脚本入门(可边练习边学习)
第二阶段:中级进阶
中级进阶需要在充分了解linux原理和基础知识之后,对上层的应用和服务进行深入学习,其中说到服务肯定涉及到网络的相关知识,是需要花时间学习的。
TCP/IP网络基础(差不多CCNA、NP的知识就够用)
Linux企业常用服务(如dns、http、ftp、mail、nfs等)
Linux企业级安全原理和防范技巧(系统性能/安全、安全威胁模型和保护方法
加密/解密原理及数据安全、系统服务访问控制及服务安全基础
iptables安全策略构建
shell脚本进阶(主要是结合一些应用,写一些案例)
MySQL应用原理及管理入门(能管理和搭建一个个人博客站点)
学到这里,掌握的基本技能,已经够用了,已经能做一些基础的运维工作和简单维护了。
第三阶段:高级提升
http服务代理缓存加速(其中主要学习varnish、nginx缓存系统,要对CDN的知识有所了解。)
企业级负载集群(其中主要学习nginx、haproxy、lvs要对主要知识熟练掌握,对负载均衡算法有清晰认识)
企业级高可用集群 (其中需要对keepalived,heartbeat等进行深入讲解)
运维监控zabbix详解(主要是zabbix、cacti、nagios等监控系统,现在用的比较多的是zabbix)
运维自动化学习(需要学一些开源运维自动化工具的使用如ansible、puppet、cobbler等运维自动化工具)
能掌握到这里,基本能处理搞定很多工作了,可以去面试高级运维工程师。
第四阶段:资深方向进阶
大数据方向(需要对hadoop、storm等常见开源大数据系统需要深入了解)
云计算方向(主要是openstack这套东西,当然像一些kvm等虚拟化技术,也是需要掌握的,现在docker也比较流行)
运维开发(主要是python运维开发)
自动化运维(在之前自动化基础上做深入)
运维架构师(主要需要广度,差不多5年左右以上经验,可以担当此职位)