linux运维须要掌握什么知识?这个问题算是老生常谈了,可是本人认为知道须要掌握什么知识不是重点,重点是咱们须要知道运维是作什么的?再来根据工做需求去讨论须要学习什么知识才是正途,须知知识是学不完的,技能亦然。linux
想要学习linux,那么就得知道linux运维是作什么的?nginx
linux运维从低到高分为基础运维、高级运维、运维架构师,不一样级别的运维的职责不同,须要干的事情也不同,固然须要掌握的技能也不同。正则表达式
运维人员作事需遵循“简单、易用、高效”的原则。对于运维服务有3大宗旨:docker
一、企业数据安全保障。shell
二、7*24小时业务持续提供服务。数据库
三、不断提高用户感觉、体验。apache
初中级运维的平常涉及工做:编程
一、评估产品需求及发展需求,设计网站架构。ubuntu
二、选择IDC公司、云产品,CDN等产品。centos
三、采购服务器、安装系统、配置服务、服务器IDC上架。
四、调试网络、优化系统及服务。
五、上线代码、配合研发搭建环境、调试、测试代码。
六、监控硬件、软件及各类业务应用。
七、配置收集日志和,根据日志信息报警及优化系统及服务
八、解决平常问题,如硬件(服务器、交换机、硬件、网络等)、软件(网络服务)、各种业务服务故障。
九、编写自动化脚本(Shell、Python),自动化部署服务。
高级运维或者架构师涉及的工做:
一、监控带宽、流量、并发、业务接口等关键资源及访问信息的变化趋势。
二、根据相应趋势变化不断优化网站架构。
三、设计各种解决方案,解决公司业务发展中的遇到的网站瓶颈。
四、编写各类自动化脚本(Shell、Python),自动化部署优化服务。
五、开发自动化部署和管理平台(CMDB),实现平台化运维。
六、开发运维管理平台、及运维工具产品,提高服务效率。
七、制定运维流程、规范、制度,并有序推动。
八、研究先进运维理念、模式,确保业务持续稳定、有序。
Ok,知道了运维的工做是什么再来讨论须要掌握的知识
1. 首先 linux 操做系统是必不可少的
Linux系统若是是学习能够选用redhat或者centos,特别是centos在企业中用得最多,固然还会有其它版本的,好比ubuntu,suse, debian等在企业当中也用的至关多系统的基本使用、磁盘管理、软件包管理、进程管理、用户管理等等这些都是学习的重点
2. 最多见的一些简单服务
服务的种类繁多,每家公司都会用到的服务个不相同,但基础的服务确定要掌握,好比ssh,apache,at,crontab,ftp,dns,nfs,nginx等等,不光是部署,还要很熟悉里面的配置才行,由于公司最关键的绝对是Web服务器,因此nginx和apache要特别熟悉,有些公司还会用tomcat,这个也须要会。
3. bash脚本编程
shell是运维人员必须具有的,不懂这个连入职都不行,至少也要写出一些系统管理脚本,最简单也得写个监控CPU,内存比率的脚本!这是最最最基本了,别觉得会写那些猜数字和计算什么数的,这些没什么做用,只做学习意义,写系统脚本才是最有意义
sed和awk是脚本编程过程中的重中之重, 必需要掌握,在掌握这两个工具同时,还要掌握正则表达式,正则是最难学的表达式,但结合到sed和awk中会很强大,在处理文本内容和过滤Web内容时十分有用,不过在学shell的同时通常会常常结合用到的。
5. 文本处理命令
各类小命令,好比sort , tr , cut, paste, uniq, tee等是必学的
6. 数据库
MySQL,linux用得最多绝对是MySQL,增删改查必学,特别要学熟查,其它方面可能不太须要,由于运维人员使用最多仍是查,哪些优化和开发语句不会让你弄的。
7. 防火墙
不学不行,防火墙也算是个难点,说难不难,说易不易,最重要弄懂规则,若是学过CCNA的朋友可能会比较好学,由于iptables也有NAT表,原理是同样的,而FILTER表用得最多,反正不学就确定不合格。
8. 监控工具
十分重要,zibbix、prometheus暂时能够2选1,可是企业用得最可能是zibbix,由于prometheus是新一代监控,具体何时成熟应用仍是不那么肯定的,如今肯定的是它在容器监控中绝对是重中之重。
9. 集群和热备
很重要,必需要懂,集群工具不少,LVS、nginx等等,还有热备,这个就更多工具能实现了,好比keepalived、rhcs等等
10. 数据备份
工具备不少,但至少要把RAID的原理弄懂,特别是企业最经常使用的1+0或0+1,本身作实验也要弄出来,备份工具备不少,如tar, dump, rsync等
11. 自动化运维工具
ansible,puppet,saltstack等等都是很是流行的自动化运维工具,可是比较难掌握
12. 云平台
Openstack,cloudstack等等,尤为是openstack是如今绝大部分公司采用的公有云或者私有云底层平台,在一个满世界都是云的it时代,不懂点云的东西还真是不行
13. 容器平台
继云以后的又一新兴技术,如今火的一塌糊涂,docker,kubernetes等等,几乎能够说是如今想拿高薪,必学的东西