初级
1、Linux基础
刚开始阶段需要书籍Linux/Windows操作系统安装,目录结构、启动流程等。
2、系统管理
主要学习Linux系统,生产环境中基本都在字符界面完成工作,所以需要掌握常用的几十个基本管理命令,包括用户管理、磁盘分区、软件包管理、文件权限、文本处理、进程管理、性能分析工具等。
3、网络基础
OSI和TCP/IP模型一定要熟悉,基本的交换机、路由器概念及实现原理要知道。
4、Shell脚本编程基础
掌握Shell基本语法结构,能编写简单的脚本即可。
中级
1、网络服务
最常用的网络服务一定得会部署,比如vsftp、nfs、samba、bind、dhcp等。
2、web服务
会部署Apache、Nginx、Mysql和PHP。还要知道HTTP协议工作原理、简单的性能调优。
3、数据库
数据库选择Mysql,它是世界上使用最为广泛的开源数据库,学它准没错!也要会一些简单的SQL语句、用户管理、常用存储引擎、数据库备份与恢复及实现原理。
4、安全
一些常见的攻击类型一定要懂,比如CC、DDOS、ARP等。
5、监控系统
可以选择学习主流的Zabbix开源监控系统,功能丰富,能满足基本的监控需求。监控点包括基本服务器资源、接口状态、服务性你那个PV/UV、日志等方面。
6、Shell脚本编程进阶
shell脚本是Linux自动完成工作的力气,必须得熟练编写,所以得进一步学习函数、数组、信号、发邮件等。文本处理三剑客(grep、sed、awk)也必须要掌握,因为Linux系统文本处理会用到。
7、Python开发基础
shell脚本只能完成一些基本的任务,想要完成更复杂的任务,比如API调用、多进程等,就需要高级语言了。Python是运维领域使用最多的语言,简单易用。
高级
1、Web静态缓存
网站访问慢也许不是服务器资源饱和导致的,影响因素有很多,比如网络、转发层数等。对于网络,存在南北通信问题,访问慢可以使用CDN解决,同时缓存静态页面,尽可能将请求拦截在最上层响应,减少后端请求和响应时间。
2、集群
分布式文件系统,并行处理任务,无单点,高可靠,高性能等特性,主流的有FastDFS、MFS、HDFS、Ceph、GFS等。初期的话建议学习FastDFS,能满足中小规模需求。
3、虚拟化
建议学习开源的KVM+Openstack云平台。主流的容器技术非Docker莫属了。学会部署Kubernetes、Swarm集群化管理容器。
4、自动化
主流服务器集中管理工具:Ansible、Saltstack,这两个选择任意一个就行。
5、Python开发进阶
深入学习Python开发,掌握面向对象编程。最好也掌握学习一个Web框架开发网站,例如Django Flask,主要是开发运维管理系统。