一、學(xué)習(xí)目標(biāo)
? ? ? ?之前從事過Linux運(yùn)維工程師的工作鹃栽,做的是普通的服務(wù)配置給改躏率、負(fù)載處理、數(shù)據(jù)歸檔以及手工版本發(fā)布等簡(jiǎn)單的問題民鼓,所以在網(wǎng)上買了套教學(xué)視頻學(xué)習(xí)一來(lái)是加強(qiáng)自己的技術(shù)基礎(chǔ)薇芝,二來(lái)是為了提升自己的薪資水平。
二丰嘉、學(xué)習(xí)方法
? ? ? ?由于是邊工作邊學(xué)習(xí)夯到,所以時(shí)間相對(duì)沒那么充裕。大致學(xué)習(xí)方法如下
? ? ?1)基礎(chǔ)學(xué)習(xí)篇--加強(qiáng)基礎(chǔ)知識(shí)(大約1個(gè)月)
? ? ? ?1.每天抽至少2小時(shí)饮亏,雙休學(xué)習(xí)視頻(如果覺得講師的語(yǔ)速慢可以調(diào)至1.5倍速看耍贾,難以理解的就正常看了)并形成相應(yīng)的筆記路幸;
? ? ? ?2.學(xué)習(xí)Linux基礎(chǔ)荐开,包括計(jì)算機(jī)基礎(chǔ)、Linux操作系統(tǒng)基礎(chǔ)简肴、Linux發(fā)行版本(CentOS晃听、Redhat)Linux基礎(chǔ)命令入門和幫助、Linux的文件管理,Bash Shell特性能扒、Linux用戶和組的權(quán)限等佣渴;
? ? ? ?3.四劍客是核心,掌握并能熟練使用find赫粥、sed观话、grep、awk及正則表達(dá)式越平;
? ? ? ?4.掌握文本編輯器vi/vim的使用频蛔,文件的打包和壓縮工具,如zip秦叛、unzip晦溪,tar等;
? ? ? ?5.學(xué)會(huì)軟件包管理挣跋,rpm和yum(Centos8是dnf)包括常見的開源網(wǎng)站三圆,如阿里源、網(wǎng)易源的配置避咆,以及自搭建yum源倉(cāng)庫(kù)舟肉;
? ? ? ?6.掌握Linux磁盤存儲(chǔ)和文件系統(tǒng)(分區(qū)和掛載的使用比較重要);
? ? ? ?7.Linux網(wǎng)絡(luò)管理查库,主要了解常用的網(wǎng)絡(luò)定義(局域網(wǎng)和廣域網(wǎng)的定義)路媚、常見網(wǎng)絡(luò)設(shè)備(網(wǎng)卡、網(wǎng)線樊销、網(wǎng)橋整慎、交換機(jī)、路由器)围苫、傳輸模式(單工裤园、半雙工、全工)剂府。
? ? ? ?基礎(chǔ)知識(shí)是重中之重拧揽,有朋友曾告訴過我,Linux命令學(xué)運(yùn)維的都會(huì)腺占,但是無(wú)論是面試還是工作中記住和熟悉原理才更加方便問題定位和解決强法。
? ? ?2)加強(qiáng)學(xué)習(xí)篇--基礎(chǔ)掌握加動(dòng)手實(shí)踐(大約1個(gè)月)
? ? ? 1.了解OSI七層模型數(shù)據(jù)的封裝和解封裝,TCP/IP協(xié)議分層和協(xié)議棧湾笛,四層中各功能以及常涉及的協(xié)議,熟悉TCP的三次握手和四次揮手,了解IP地址和子網(wǎng)劃分闰歪;
? ? ? 2.了解Linux數(shù)據(jù)處理的抓包工具tcpdump及其過程嚎研,熟練使用ps、pstree、uptime临扮、free论矾、top、vmstat等命令進(jìn)行進(jìn)程查看杆勇;
? ? ? 3.shell腳本(真的很重要L翱恰!Q镣恕)和crontab定時(shí)任務(wù)一定要掌握闰靴;
? ? ? 4.了解Linux啟動(dòng)流程與服務(wù)、內(nèi)核管理钻注;
? ? ? 5.熟悉常用的軟件如Apache蚂且、Tomcat、nginx幅恋、MySQL杏死、redis等的安裝(最好是源碼安裝);
? ? ? 6.了解CDN捆交,DNS和搭建配置文件系統(tǒng)FastDFS淑翼,NFS。
? ? ? ?中間涉及到的不會(huì)的問題或者各種疑難雜癥找度娘品追,能翻墻的就Google玄括,或者聯(lián)系購(gòu)買視頻的講師,要掌握或者熟悉再進(jìn)入下一步诵盼,切記不要心急惠豺。
? ? ?3)深入學(xué)習(xí)篇--服務(wù)架構(gòu)搭建(大約2個(gè)半月)
? ? ?1.涉及到LAMP、LNMP的源碼搭建(編譯步驟&常涉及的依賴安裝)及其各項(xiàng)服務(wù)的配置調(diào)優(yōu)风宁,服務(wù)搭建或者運(yùn)行中常見各種應(yīng)用報(bào)錯(cuò)(4xx洁墙、5xx系列報(bào)錯(cuò)解決等)和故障解決(負(fù)載高、SSH連接緩慢戒财、磁盤空間不足热监、封IP等);
? ? ?2.nginx饮寞,LVS+keepalived孝扛、varnish,haproxy做負(fù)載均衡及其配置原理幽崩;
? ? ?3.熟悉MySQL-cluster苦始、redis-cluster原理并能搭建和配置,如MySQL主主復(fù)制慌申、多主多從復(fù)制和讀寫分離(mycat和amoba)陌选,redis集群及其sentinel機(jī)制;
? ? ?4.掌握MySQL數(shù)據(jù)庫(kù)的增、刪咨油、改您炉、查語(yǔ)句,主從故障恢復(fù)役电、備份(mysqldump赚爵、mysqlbackup等)以及redis的備份(RDB和AOF)原理和步驟;
? ? ?5.會(huì)搭建Jenkins+gitlab實(shí)現(xiàn)自動(dòng)化部署法瑟,并熟練使用工具進(jìn)行版本發(fā)布冀膝;
? ? ?6.會(huì)使用pssh、ansible進(jìn)行批量部署瓢谢,jumpserver堡壘機(jī)管理機(jī)器畸写,最好能結(jié)合Shell腳本進(jìn)行各種服務(wù)的批量部署減少任務(wù)量;
? ? ?7.搭建常用監(jiān)控服務(wù)氓扛,Zabbix枯芬,ELK,Prometheus+grafana的監(jiān)控原理和常見監(jiān)控配置步驟(如zabbix配置主機(jī)采郎、模板千所、監(jiān)控項(xiàng)、觸發(fā)器蒜埋、動(dòng)作淫痰、告警媒介等);
? ? ?8.了解常見云服務(wù)的操作和配置整份,如AWS待错、阿里云、騰訊云及其遷移步驟(可以去買計(jì)時(shí)的服務(wù)學(xué)習(xí))烈评;
? ? ?9.學(xué)習(xí)開源容器引擎Docker以及容器集群管理系統(tǒng)K8S(此處可能需要花費(fèi)更多的時(shí)間學(xué)習(xí))火俄;
? ? ?這里主要學(xué)會(huì)搭建常見服務(wù)(原理、配置和調(diào)優(yōu))及其集群搭建和故障排錯(cuò)思路讲冠、容災(zāi)思想的培養(yǎng)瓜客。
? ? ?4)安全&架構(gòu)思維篇--持續(xù)培養(yǎng)
? ? ?1.熟悉iptables“四表五鏈”,并能禁用和開啟端口或IP的相關(guān)配置竿开;
? ? ?2.了解一些硬件防火墻(金盾谱仪、深信服、綠盟)和軟件防火墻(360否彩、金山)疯攒;
? ? ?3.了解常見攻擊如DDOS攻擊(SYN Flood、ACK Flood列荔、DNS Flood等)卸例、CC攻擊刻两、SQL注入等攻擊原理营搅、方式和防御思路(這里安利一本書《Web攻防之業(yè)務(wù)安全指南》雖然本人買了并沒怎么看過??);
? ? ?4.個(gè)人每天抽20分鐘瀏覽一些安全方面的資訊催式,即使不是從事安全方面的工作悬而,也可以了解一下動(dòng)態(tài)呜舒。本人另一篇博客推薦一些網(wǎng)站,有興趣的可以看看:http://www.reibang.com/p/37c5588e85d3
? ? ?5.常涉及的服務(wù)架構(gòu)的LB笨奠、HA袭蝗,熟悉一些中間件(Kafka、Tomcat等)的原理般婆、用途和配置到腥;
? ? ?6.培養(yǎng)自己的架構(gòu)思維,能構(gòu)思一定規(guī)模的公司架構(gòu)(測(cè)試環(huán)境蔚袍、生產(chǎn)環(huán)境)乡范,多少臺(tái)服務(wù)器以及每臺(tái)服務(wù)器的職責(zé),如:網(wǎng)段劃分+Jumpserver堡壘機(jī)(服務(wù)器管理)+yum倉(cāng)庫(kù)源+時(shí)間同步服務(wù)器(NTP或chrony)+web服務(wù)器Apache或nginx(動(dòng)靜分離啤咽,負(fù)載均衡晋辆,反向代理)+MQ服務(wù)器(Kafka)+數(shù)據(jù)存儲(chǔ)MySQL(主從,讀寫分離)+緩存redis(集群)+監(jiān)控(zabbix監(jiān)控服務(wù)器和進(jìn)程宇整,ELK日志監(jiān)控)+CI/CD(Jenkins+Maven+gitlab)等瓶佳。
? ? ?5)勞逸結(jié)合篇--Better life
? ?1.平常要形成做筆記的習(xí)慣,以制作word或TXT文檔還是思維導(dǎo)圖類的亦或是寫博客鳞青,要經(jīng)常敲命令霸饲,出了故障開始一定要自己嘗試解決(培養(yǎng)解決故障的思維、解決問題的能力)臂拓;
? ?2.網(wǎng)頁(yè)(CSDN,51CTO,簡(jiǎn)書)或微信公眾號(hào)看一些技術(shù)博客厚脉,多記憶和理解一些原理性的東西(這也是面試常問的);
? ?3.學(xué)會(huì)放松埃儿,像雙休這種常時(shí)間的學(xué)習(xí)可以適當(dāng)放松器仗,本人比較宅愛好是喜歡看LOL比賽(老狗雜和K雜了),然后在看比賽中邊運(yùn)動(dòng)(握力器童番、臂力棒精钮、跳繩)放松一下。甚至?xí)霈F(xiàn)看LOL視頻而不想學(xué)習(xí)的時(shí)候??剃斧;
? ?4.即使從事了Linux運(yùn)維的工作也不要停下學(xué)習(xí)的腳步轨香,IT行業(yè)更新迭代很快。
? ? ? ? 最后就是盡量學(xué)習(xí)一門語(yǔ)言幼东,運(yùn)維最好學(xué)Python臂容。后續(xù)就是簡(jiǎn)歷的編寫科雳,以及嘗試投遞簡(jiǎn)歷和面試總結(jié),這里不再贅述脓杉。