Linux运维必备技能,Linux运维学习路线

                         Linux运维必备技能,Linux运维学习路线

第一阶段

1、Linux基础

刚开始阶段需要熟悉Linux/Windows操作系统安装,目录结构、启动流程等。

2、Linux用户及权限基础

3、Linux系统进程管理进阶

4、linux高效文本、文件处理命令(vim、grep、sed、awk、find等命令)

5、Shell脚本编程基础

掌握Shell基本语法结构,能编写简单的脚本即可。

第二阶段

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

1、网络服务

最常用的网络服务一定得会部署,比如vsftp、nfs、samba、bind、dhcp等。

代码版本管理系统少不了,可以学习下主流的SVN和GIT,能部署和简单使用就可以了。

经常在服务器之间传输数据,所以要会使用:rsync和scp。

数据同步:inotify/sersync。

重复性完成一些工作,可写成脚本定时去运行,所以得会配置Linux下的定时任务服务crond。

2、Web服务

每个公司基本都会有网站,能让网站跑起来,就需要搭建Web服务平台了。

如果是用PHP语言开发的,通常搭建LAMP、LNMP网站平台,这是一个技术名词组合的拼写,分开讲就是得会部署Apache、Nginx、MySQL和PHP。

如果是JAVA语言开发的,通常使用Tomcat运行项目,为了提高访问速度,可以使用Nginx反向代理Tomcat,Nginx处理静态页面,Tomcat处理动态页面,实现动静分离。

不是会部署这么简单,还要知道HTTP协议工作原理、简单的性能调优。

3、数据库

数据库选择MySQL,它是世界上使用最为广泛的开源数据库。学它准没错!也要会一些简单的SQL语句、用户管理、常用存储引擎、数据库备份与恢复。

想要深入点,必须会主从复制、性能优化、主流集群方案:MHA、MGR等。NoSQL这么流行当然也少不了,学下Redis、MongoDB这两个就好了。

4、shell脚本进阶(主要是结合一些应用,写一些案例)

Shell脚本是Linux自动完成工作的利器,必须得熟练编写,所以得进一步学习函数、数组、信号、发邮件等。

文本处理三剑客(grep、sed、awk)得玩6啊,Linux下文本处理就指望它们了。

5、MySQL应用原理及管理入门(能管理和搭建一个个人博客站点)

学到这里,掌握的基本技能,已经够用了,已经能做一些基础的运维工作和简单维护了。

第三阶段

1、http服务代理缓存加速(其中主要学习varnish、nginx缓存系统,要对CDN的知识有所了解

2、企业级负载集群(其中主要学习nginx、haproxy、lvs要对主要知识熟练掌握,对负载均衡算法有清晰认识

3、企业级高可用集群 (其中需要对keepalived,heartbeat等进行深入讲解

4、运维监控zabbix详解(主要是zabbix、cacti、nagios等监控系统,现在用的比较多的是zabbix

5、运维自动化学习(需要学一些开源运维自动化工具的使用如ansible、puppet、cobbler等运维自动化工具)

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

· 掌握 Iptables 防火墙体系,实现防火墙实现数据包过滤和转发

· 掌握用户权限安全控制 Sudo体系与配置

· 掌握DNS服务的原理、部署、安装和企业级应用

· 实现文件共享服务 NFS、Vsftpd、Samba 配置和应用

· 实现 Jumpserver 堡垒机 安装、配置、使用和运维体系融合

· brctl 命令创建管理虚拟网桥;Ip Netns 创建管理虚拟路由

· 常见的网络客户端工具 Ping/Lftp/Ftp/Lftpget/Wget

· 利用 Rsync 和 Inotify 实现多台机器数据分发和配置同步

· Jumpserver 跳板机基本功能应用,认证、授权、审计

· 运维必备 Web 服务开源解决⽅案 Nginx,全面讲解 Nginx 程序架构

以上就是踏入linux运维工程师需要掌握的工具,其实还有很多工具要掌握的。这里所指的工具相当于技能,而不是像windows或ubuntu那些图形化工具~

你可能感兴趣的:(运维,linux,学习)