之前曾看到一篇新聞,Linux之父建議大家找一份基於Linux和開源環境的工作。今天就來聊一聊我的想法,本人8年Linux運維一線經驗,呆過很多互聯網公司,從一線運維做到運維架構師一職,也見證了中國運維行業從無人問津到可圈可點的整個演變過程。
Linux系統目前主要應用在企業服務器上,學習Linux,更多的是向Linux系統/運維工程師方向進軍。比如雲計算系統工程師,大數據運維工程師,運維開發工程師其職位都是Linux運維工程師的進階。下面就整體介紹下,作為過來人,怎么學習Linux,以及Linux入門和學習的路線。
運維學習需要分為四個階段:
Linux初級入門 > Linux中級進階 > Linux高級提升 > 資深細分方向進階
第一階段:初級入門
初級階段需要把linux學習路線搞清楚,任何學習都是循序漸進的,所以學linux也是需要有一定的路線,個人建議學習的路線如下:
-
Linux基礎知識、基本命令(起源、組成、常用命令如cp、ls、file、mkdir等常見操作命令)
-
Linux用戶及權限基礎
-
Linux系統進程管理進階
-
Linux高效文本、文件處理命令(vim、grep、sed、awk、find等命令)
-
shell腳本入門(可邊練習邊學習)
第二階段:中級進階
中級進階需要在充分了解linux原理和基礎知識之后,對上層的應用和服務進行深入學習,其中說到服務肯定涉及到網絡的相關知識,是需要花時間學習的。
-
TCP/IP網絡基礎(差不多CCNA、NP的知識就夠用)
-
Linux企業常用服務(如dns、http、ftp、mail、nfs等)
-
Linux企業級安全原理和防范技巧(系統性能/安全、安全威脅模型和保護方法
-
加密/解密原理及數據安全、系統服務訪問控制及服務安全基礎
-
iptables安全策略構建
-
shell腳本進階(主要是結合一些應用,寫一些案例)
-
MySQL應用原理及管理入門(能管理和搭建一個個人博客站點)
學到這里,掌握的基本技能,已經夠用了,已經能做一些基礎的運維工作和簡單維護了。
第三階段:高級提升
-
http服務代理緩存加速(其中主要學習varnish、nginx緩存系統,要對CDN的知識有所了解。)
-
企業級負載集群(其中主要學習nginx、haproxy、lvs要對主要知識熟練掌握,對負載均衡算法有清晰認識)
-
企業級高可用集群 (其中需要對keepalived,heartbeat等進行深入講解)
-
運維監控zabbix詳解(主要是zabbix、cacti、nagios等監控系統,現在用的比較多的是zabbix)
-
運維自動化學習(需要學一些開源運維自動化工具的使用如ansible、puppet、cobbler等運維自動化工具)
能掌握到這里,基本能處理搞定很多工作了,可以去面試高級運維工程師。
第四階段:資深方向進階
-
大數據方向(需要對hadoop、storm等常見開源大數據系統需要深入了解)
-
雲計算方向(主要是openstack這套東西,當然像一些kvm等虛擬化技術,也是需要掌握的,現在docker也比較流行)
-
運維開發(主要是python運維開發)
-
自動化運維(在之前自動化基礎上做深入)
-
運維架構師(主要需要廣度,差不多5年左右以上經驗,可以擔當此職位)