你首先要考虑一个问题:运维工程师必须掌握的基础技能有哪些?我分析了各大招聘网站的技能要求,通常包含这些内容:
 

  1. Linux基础:包括对Linux整体的理解/使用和基本命令;
  2. 运维相关的工具(命令):了解它能解决很多问题;
  3. 基础服务:LAMP或LNMP、Apache、Nginx、MySQL、Perl LAMP、FTP等;
  4. 脚本:必须掌握Shell脚本、额外掌握Python、Perl;
  5. 网络、安全:TCP/IP协议、tcpdump抓包工具、防火墙配置,如iptables、 ipset。

需求决定方向,知道运维人员需要掌握的技能之后,我们就可以考虑如何去快速学习。自学和参加培训班之间的优劣已经众所周知,自学成本低、效率低且缺乏实战练习,参加培训花费大、效率高且有较多项目练习助你积累经验。

如果你不知道如何去选择,不妨结合自己的基础水平以及最终目标去考虑。如果你没有基础、想要快速入门、高效率学习且想要成为实用型人才,参加专业培训是明智的,技术大牛带你一站式搞定不可思议的云计算运维技术。



二、IT运维(系统运维)工程师系统学习路线



接下来给大家介绍一下IT运维工程师(也叫系统运维工程师)的学习路线,按照这份路线发展你将会成为一个年薪50万的专业技术人员(一线城市)。

第一阶段:初级入门

初级阶段需要把linux运维学习路线搞清楚,任何学习都是循序渐进的,所以学linux运维也是需要有一定的路线。
个人建议系统的学习运维路线如下:

初级入门:
1、Linux基础知识、基本命令(起源、组成、常用命令如cp、ls、file、mkdir等常见操作命令)
2、Linux用户及权限基础
3、Linux系统进程管理进阶
4、linux高效文本、文件处理命令(vim、grep、sed、awk、find等命令)
5、shell脚本入门(可边练习边学习)

第二阶段:中级进阶
中级进阶需要在充分了解linux原理和基础知识之后,对上层的应用和服务进行深入学习,其中说到服务肯定涉及到网络的相关知识,是需要花时间学习的。


1、TCP/IP网络基础(差不多CCNA、NP的知识就够用)
2、Linux企业常用服务(如dns、http、ftp、mail、nfs等)
3、Linux企业级安全原理和防范技巧(系统性能/安全、安全威胁模型和保护方法
4、 加密/解密原理及数据安全、系统服务访问控制及服务安全基础
5、iptables安全策略构建
6、shell脚本进阶(主要是结合一些应用,写一些案例)
7、MySQL应用原理及管理入门(能管理和搭建一个个人博客站点)
学到这里,掌握的基本技能,已经够用了,已经能做一些基础的运维工作和简单维护了。

第三阶段:高级提升
1、http服务代理缓存加速(其中主要学习varnish、nginx缓存系统,要对CDN的知识有所了解。)
2、企业级负载集群(其中主要学习nginx、haproxy、lvs要对主要知识熟练掌握,对负载均衡算法有清晰认识,)
3、企业级高可用集群 (其中需要对keepalived,heartbeat等进行深入讲解)
4、运维监控zabbix详解(主要是zabbix、cacti、nagios等监控系统,现在用的比较多的是zabbix)
5、运维自动化学习(需要学一些开源运维自动化工具的使用如ansible、puppet、cobbler等运维自动化工具)

能掌握到这里,基本能处理搞定很多工作了,可以去面试高级运维工程师,差不多薪资能达到12-18K左右。

第四阶段:资深方向进阶
1、 大数据方向(需要对hadoop、storm等常见开源大数据系统需要深入了解)
2、 云计算方向(主要是openstack这套东西,当然像一些kvm等虚拟化技术,也是需要掌握的,现在docker也比较流行)
3、 运维开发(主要是python运维开发)
4、 自动化运维(在之前自动化基础上做深入)
5、 运维架构师(主要需要广度,差不多5年左右以上经验,可以担当此职位)


成为一名合格的Linux运维工程师必备的技术点
 

  • 掌握 Iptables 防火墙体系,实现防火墙实现数据包过滤和转发;
  • 掌握用户权限安全控制 Sudo 体系与配置;
  • 掌握 DNS 服务的原理、部署、安装和企业级应用;
  • 实现文件共享服务 NFS、Vsftpd、Samba 配置和应用;
  • 实现 Jumpserver 堡垒机
  • 安装、配置、使用和运维体系融合;
  • brctl 命令创建管理虚拟网桥;Ip Netns 创建管理虚拟路由;
  • 常见的网络客户端工具 Ping/Lftp/Ftp/Lftpget/Wget;
  • 利用 Rsync 和 Inotify 实现多台机器数据分发和配置同步;
  • Jumpserver 跳板机
  • 基本功能应用,认证、授权、审计;
  • https 概念及对应的模块 mod_ssl 应用配置;
  • 运维必备 Web 服务开源解决⽅案 Nginx,全面讲解 Nginx 程序架构;
  • Nginx 内部框架、模块功能、事务处理机制、安装⽅法、CPU 亲缘优化、配置⽂件;
  • SQL 语句增删改查、常⽤命令使⽤、⽤户授权、字符集修改、表、索引、库管理等;
  • 对⽐介绍图形化管理软件,如 PhpMyAdmin、SQLyog、Navicat 等
  • Keepalived 工作方式,Keepalived 核心组件、报警机制、切换机制、心跳信息传输等;
  • Centos7 上实现 LVS 集群配置、服务管理、调度算法修改;
  • 全面熟悉 Ansible 用法、以及安装方法、配置文件详解、模块说明、基于私钥认证、批量操作等;
  • Redis 扩展方式对比介绍,Redis Cluster 的基础应用;
  • Vmware Esxi 创建 Linux 及 Windows 虚拟机,并实现虚拟机跨宿主机迁移;
  • Docker 镜像、仓库管理、启动⽅法、数据卷使⽤、备份恢复,网络模型、容器间依赖关系、容器资源限制、Docker 的监控;


全套视频教程+笔记


配套技术文档



大厂面试题汇总

实战项目

三、结语



最后,如果有充足的时间、精力和相当强的自律能力,多去买一些学习书籍,每日定量学习,理论结合实战;
或者,如果在资金上比较充裕,想要短期快速提升技能,也可以参加培训学习,大家其实不用对培训机构那么的排斥,好的培训机构的教学和服务都是非常好的。


任何一个技术的学习都不是一蹴而就的,都是需要下功夫花时间日积月累,才能把技术知识消化吸收。
希望我的文章能对你有所帮助。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐