怎么入门Linux运维行业?

一、开篇浅谈

本人从事运维工作十几年,网络和linux运维都做过,08年拿到CCIE证书,12年RHCA,目前工作主要关注k8s运维和自动化运维。就我的经验来回答一下这个问题吧。

我写下零基础学运维的系统学习路线吧。零基础怎么学云计算?Linux运维人员必备什么技能?现在是云计算时代,越来越多的企业将自己的业务迁移到云上,庞大的数据、架构让运维工程师成为香饽饽,想要从事云计算运维的人也不断增多。

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

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

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

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

二、Linux云计算(系统运维)工程师系统学习路线

接下来给大家介绍一下Linux云计算工程师(也叫系统运维工程师)的学习路线,按照这份路线发展你将会成为一个年薪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 的监控;

怎么入门Linux运维行业?_第1张图片

怎么入门Linux运维行业?_第2张图片

怎么入门Linux运维行业?_第3张图片

三、结语

最后,如果有充足的时间、精力和相当强的自律能力,多去买一些学习书籍,每日定量学习,理论结合实战;或者,如果在资金上比较充裕,想要短期快速提升技能,也可以参加培训学习;任何一个技术的学习都不是一蹴而就的,都是需要下功夫花时间日积月累,才能把技术知识消化吸收。希望我的回答能对你有所帮助。

你可能感兴趣的:(运维,linux,服务器)