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等等,幾乎能夠說是如今想拿高薪,必學的東西