關(guān)于我們
書單推薦
新書推薦
|
Linux運(yùn)維之道(第2版)
隨著開源技術(shù)的不斷進(jìn)步與創(chuàng)新,整個(gè)IT行業(yè)中越來越多的企業(yè)愿意采用開源產(chǎn)品,而基于Linux的操作系統(tǒng)為這些開源產(chǎn)品提供了一個(gè)很好的操作平臺(tái)。丁明一編著的《Linux運(yùn)維之道(第2版)》將圍繞Linux操作系統(tǒng)這樣一個(gè)基礎(chǔ)平臺(tái),講解如何使用操作系統(tǒng)實(shí)現(xiàn)各種開源產(chǎn)品的應(yīng)用案例。全書主要從運(yùn)維工作中的應(yīng)用服務(wù)入手,全面講解基本Linux操作系統(tǒng)以及各種軟件服務(wù)的運(yùn)維工作。
現(xiàn)在的商業(yè)環(huán)境是一個(gè)充滿競爭的環(huán)境,很多企業(yè)的業(yè)務(wù)量在不斷地增長,而對(duì)服務(wù)質(zhì)量的要求也越來越高。特別是互聯(lián)網(wǎng)企業(yè)為了滿足客戶非常高的需求,提升用戶使用體驗(yàn)。IT部門維護(hù)的設(shè)備往往數(shù)以萬計(jì),如此龐大的設(shè)備維護(hù)量,通常會(huì)讓IT管理人員頭疼不已。本書介紹的自動(dòng)化運(yùn)維的內(nèi)容可以讓我們快速掌握大規(guī)模批量處理的簡單方法。僅僅依靠自動(dòng)化運(yùn)維還不足以發(fā)揮出這些設(shè)備能效,因此,我們還需要將這個(gè)服務(wù)器設(shè)備有機(jī)地結(jié)合在一起,為客戶提供安全、快捷、高效的服務(wù),于是集群技術(shù)應(yīng)運(yùn)而生。本書后面將圍繞集群技術(shù)介紹目前比較流行的開源產(chǎn)品部署案例。
《Linux運(yùn)維之道》從運(yùn)維工作的實(shí)際需求出發(fā),全面講解相關(guān)的技術(shù)、經(jīng)典案例,以及常見問題的解決方案。
★作者丁明一具有豐富的實(shí)踐及教學(xué)經(jīng)驗(yàn),且非常認(rèn)真,《Linux運(yùn)維之道》是其嘔心瀝血之作,不僅內(nèi)容精益求精,代碼的編排作者也花了一些心思,可見其縝密。 ★《Linux運(yùn)維之道》得到了多位業(yè)內(nèi)專家的強(qiáng)烈推薦,包括紅帽大中華區(qū)考官黃軍寶、原紅帽中國高級(jí)認(rèn)證考官許成林,以及百度、新浪、達(dá)內(nèi)、武漢譽(yù)天的運(yùn)維工程師和培訓(xùn)講師。 ★運(yùn)維是一項(xiàng)需要多種技能的工作,Linux運(yùn)維之道作者丁明一告訴您如何成為一名合格的運(yùn)維工程師,能夠直接提高運(yùn)維人員的工作效率,值得閱讀。 ★本書在第一版的基礎(chǔ)上進(jìn)行了全面細(xì)致的修訂,所有內(nèi)容全面升級(jí)至CentOS7.2系統(tǒng)。
序1
我們正處在一個(gè)互聯(lián)網(wǎng)的時(shí)代,社會(huì)經(jīng)濟(jì)生活的各個(gè)方面都與互聯(lián)網(wǎng)有著或多或少、千絲萬縷的聯(lián)系,互聯(lián)網(wǎng)更是成為了我們生活中不可缺少的一部分,例如電子商務(wù)、社交網(wǎng)絡(luò)、即時(shí)通信等;ヂ(lián)網(wǎng)還在蓬勃發(fā)展,它將更進(jìn)一步深化并滲入我們生活的每一個(gè)部分,更緊密地聯(lián)系著我們周邊的人與事物。 然而,在互聯(lián)網(wǎng)的發(fā)展歷程中,有一個(gè)事物是密不可分的,那就是開源軟件。開源軟件在互聯(lián)網(wǎng)的發(fā)展過程中起到了舉足輕重的作用,它為互聯(lián)網(wǎng)加速發(fā)展提供了基石;反過來,互聯(lián)網(wǎng)也為開源軟件提供了前所未有的時(shí)機(jī)。兩者相互促進(jìn),還將在未來一直持續(xù)下去。 在互聯(lián)網(wǎng)的浪潮中誕生了許多偉大的公司,它們都使用了各種不同的開源技術(shù),同時(shí)也為開源做出了巨大的貢獻(xiàn)。例如:Google作為全球最大的搜索引擎公司,使用了Python、MySQL、OpenSSL等開源軟件或源代碼;Facebook是全球第一大社交網(wǎng)站,擁有約9億用戶,同時(shí)也是世界排名第一的照片分享站點(diǎn),每天上載850萬張照片,使用的開源軟件有PHP、MySQL、Memcached等,同時(shí)還支撐開源項(xiàng)目Cassandra等;Dropbox是一個(gè)提供同步本地文件的網(wǎng)絡(luò)存儲(chǔ)在線應(yīng)用,支持在多臺(tái)電腦、多種操作中自動(dòng)同步,并可當(dāng)做大容量的網(wǎng)絡(luò)硬盤使用,使用的開源軟件有Python、MySQL、Memcached、Nginx等。類似的公司還有很多,在此不再一一列舉。此外,這些大公司還有一個(gè)共同的地方,就是都使用了Linux內(nèi)核的操作系統(tǒng)。 開源軟件為互聯(lián)網(wǎng)的發(fā)展提供了強(qiáng)勁的動(dòng)力,同時(shí)也為個(gè)人的發(fā)展帶來了前所未有的機(jī)會(huì)。學(xué)習(xí)和掌握使用開源技術(shù)已成為IT行業(yè)的普遍現(xiàn)象。掌握和精通一門或多門開源技術(shù)是打開職業(yè)生涯之門的金鑰匙,更是實(shí)現(xiàn)自我價(jià)值的便捷路徑。 書籍是我們通往知識(shí)殿堂的階梯。在市面上講解和剖析開源技術(shù)的書琳瑯滿目,本書無疑是其中璀璨奪目書籍之一。本書全面勾勒出互聯(lián)網(wǎng)運(yùn)維中所使用的技術(shù),從基礎(chǔ)開始豐富每個(gè)技術(shù)細(xì)節(jié),猶如一幅風(fēng)景畫,有著清晰、突出的輪廓,又有色彩斑斕的層次。 作者簡單明了的語言讓讀者更容易理解和吸收,從理論到實(shí)踐地做了詳盡的闡述,做到理論結(jié)合實(shí)踐,不偏不倚,既避免了光有理論的枯燥,又避免了只有實(shí)踐的茫然。其中有很多是作者的經(jīng)驗(yàn)之談,既可以直接用在工作當(dāng)中,又可以讓讀者舉一反三,加深印象。 本書從基本的操作系統(tǒng)知識(shí)與實(shí)踐到互聯(lián)網(wǎng)應(yīng)用,由淺入深,由表及里,層層推進(jìn);對(duì)作為開源技術(shù)中既基礎(chǔ)又非常重要的Linux操作系統(tǒng)的各類操作和技巧做了詳細(xì)的闡述,進(jìn)而對(duì)各類常用服務(wù)(如Apache、Nginx、MySQL等)進(jìn)行了深度的剖析,同時(shí)又考慮到系統(tǒng)及服務(wù)的安全?梢娮髡咝乃伎b密,為本書費(fèi)盡心血。 拜讀本書之后,受益匪淺,其中的許多小技巧在工作中非常有幫助。相信讀者在閱讀本書之后也能大受裨益。 黃軍寶 紅帽大中華區(qū)考官 序2 我認(rèn)識(shí)作者是很久以前的事情了,作為一名長期工作在項(xiàng)目工程一線和教學(xué)一線的講師,自認(rèn)為對(duì)關(guān)于計(jì)算機(jī)系統(tǒng)技術(shù)方面的各類書籍比較熟悉,對(duì)圈子里的一些牛人也比較熟悉。但是,突然有一天,丁明一同志給了我一份他的電子稿書籍,然后告訴我說,這是他一點(diǎn)一滴積累起來的關(guān)于Linux方面的技術(shù)資料,并且打算出一本正式的書籍,好讓更多的愛好者能更好地學(xué)習(xí)Linux技術(shù)。這確實(shí)嚇了我一跳。在好奇心的趨勢下,我認(rèn)真閱讀了他的作品,結(jié)果發(fā)現(xiàn)這本書確實(shí)與眾不同。 與一些純粹的學(xué)院派的書籍相比,這本書更貼近于生產(chǎn)環(huán)境所使用的技術(shù),書中提到的各種技術(shù)大多是生產(chǎn)環(huán)境中比較常用的,并且以實(shí)際的工程經(jīng)驗(yàn)和方法來解決各種問題,將各種枯燥的技術(shù)原理講解得十分透徹。不僅如此,書中的大量實(shí)例能讓我了解更多的技術(shù)細(xì)節(jié),看到真正的大師們是如何操作的。 讀了整本書之后,讓我對(duì)他更加好奇,開始回想我們認(rèn)識(shí)到現(xiàn)在,一點(diǎn)一滴,慢慢地,我從記憶中找到了答案,他是一個(gè)完全由興趣驅(qū)動(dòng)而對(duì)技術(shù)極端癡迷的人,也是一個(gè)善于思考、富于想象力的人,這種純粹的不含任何功利因素的興趣與癡迷才是科學(xué)技術(shù)發(fā)展的真正原動(dòng)力。 我所做過的RedHat官方的培訓(xùn)中,老丁算是讓我非常認(rèn)同的一位老師。他對(duì)技術(shù)的癡迷和對(duì)知識(shí)的質(zhì)疑精神,成就了Linux系統(tǒng)領(lǐng)域的一本好書。我在培訓(xùn)過程中通常會(huì)向新生或者入門者推薦這本書。一方面,是因?yàn)檫@本書確實(shí)是從入門到提高的良好橋梁;另一方面,是讓他們知道,要從事Linux領(lǐng)域的工作,強(qiáng)烈的興趣比什么都重要。 這本書將會(huì)對(duì)Linux技術(shù)在我國的普及起到良好的推進(jìn)作用。書中增加的現(xiàn)階段流行的虛擬化技術(shù),為云計(jì)算打下了良好的基礎(chǔ),有關(guān)群集的內(nèi)容能讓大家學(xué)會(huì)在企業(yè)中生存的本領(lǐng)。 我相信,本書的內(nèi)容將會(huì)給讀者帶來驚喜。 許成林 原紅帽中國高級(jí)認(rèn)證考官 序3 作為服務(wù)器領(lǐng)域的佼佼者,Linux在過去很長一段時(shí)間已經(jīng)成為企業(yè)服務(wù)部署的不二選擇,并且,隨著Android操作系統(tǒng)的快速發(fā)展,目前越來越多的設(shè)備使用基于Linux的操作系統(tǒng)。然而在Linux迅猛發(fā)展的同時(shí),我也看到了優(yōu)秀的Linux人才嚴(yán)重稀缺的情況。導(dǎo)致這類人才短缺的一個(gè)很大原因是Linux的學(xué)習(xí)難度較大,對(duì)大多數(shù)人而言,剛接觸Linux時(shí)學(xué)習(xí)的復(fù)雜度比較高,加上市面上能夠由淺入深地介紹Linux技術(shù)與規(guī)劃的書籍非常難找。 作者以其多年的工作經(jīng)驗(yàn),總結(jié)歸納了一本適合各層次的人閱讀的Linux書籍。本書內(nèi)容講解深入淺出,配合大量的經(jīng)典案例,通俗易懂,實(shí)用性非常強(qiáng)。尤其是書中提供的常見問題分析,根據(jù)各種常見問題提供了不同的解決方案,可以幫助讀者排除很多已知的常見故障。對(duì)于難以理解的抽象概念,書中總是能給出一個(gè)具體的操作案例,充分考慮到了讀者的閱讀體驗(yàn)。實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),Linux本身也是一門實(shí)踐性很強(qiáng)的學(xué)科,本書作者為讀者準(zhǔn)備了大量的實(shí)驗(yàn)內(nèi)容,相信在完成這些案例后,我們能真正理解這些技術(shù),并應(yīng)用到實(shí)際生產(chǎn)環(huán)境中。作者以案例方式講述技術(shù)知識(shí),讓學(xué)員學(xué)以致用,在課程中穿插大量的實(shí)驗(yàn),以提高學(xué)員的操作能力。對(duì)于初級(jí)運(yùn)維工作者及高級(jí)運(yùn)維工作者,本書都具有相當(dāng)高的實(shí)踐指導(dǎo)意義。 在我的工作中,很多學(xué)生會(huì)問到我:“有沒有一本可以指導(dǎo)我們發(fā)展方向的書?”我想,本書給出了答案,作者從入門基礎(chǔ)到大規(guī)模部署集群環(huán)境,都給予了指導(dǎo)性的說明,并包含了具體的應(yīng)用案例,學(xué)習(xí)完書中的內(nèi)容后,你的技術(shù)水平會(huì)有一個(gè)質(zhì)的飛躍。相信對(duì)于準(zhǔn)備進(jìn)入Linux運(yùn)維崗位的工作者而言是非常有幫助的。書中內(nèi)容緊貼工作實(shí)際,也是我們未來走向更高技術(shù)崗位的基石。 鄒圣林 武漢譽(yù)天高級(jí)講師 前言 撰寫本書的起因 目前越來越多的企業(yè)需要依賴IT技術(shù)發(fā)布產(chǎn)品與服務(wù),尤其是電子商務(wù)最為明顯,它凸顯了IT技術(shù)在現(xiàn)代企業(yè)中的重要性。當(dāng)企業(yè)需要部署IT業(yè)務(wù)時(shí),機(jī)房與服務(wù)器是整個(gè)IT技術(shù)生態(tài)鏈中非常重要的環(huán)節(jié)。對(duì)于服務(wù)器操作系統(tǒng)的選擇,Linux以其開源、穩(wěn)定、安全的特性,目前在服務(wù)器領(lǐng)域已經(jīng)稱為無可爭議的霸主,而且有眾多的服務(wù)可以應(yīng)用于Linux平臺(tái),可以靈活地應(yīng)用這些服務(wù)以滿足企業(yè)的各種業(yè)務(wù)需求。本書重點(diǎn)在于講解如何部署服務(wù)器操作系統(tǒng),以及在Linux操作系統(tǒng)平臺(tái)上部署常見的IT服務(wù)。 從1991年起至今,Linux已經(jīng)快速成長為企業(yè)服務(wù)器產(chǎn)品的首選操作系統(tǒng),越來越多的IT企業(yè)采用Linux作為其服務(wù)器端平臺(tái)操作系統(tǒng),為客戶提供高性能、高可用的業(yè)務(wù)服務(wù)。隨著紅帽公司宣布其年?duì)I業(yè)額超10億美元,也標(biāo)志著開源Linux操作系統(tǒng)的光輝時(shí)代已經(jīng)來臨。紅帽的成功預(yù)示著采用開源模式的Linux操作系統(tǒng)可以為企業(yè)提供安全、可靠和高性能的平臺(tái)系統(tǒng)。服務(wù)器領(lǐng)域中Linux操作系統(tǒng)的份額越來越大,而目前技術(shù)人才又相對(duì)匱乏,導(dǎo)致大量的就業(yè)人才缺口,本書著眼于Linux技術(shù)中方方面面的主流技術(shù),為讀者進(jìn)入Linux行業(yè)開啟了一扇暢通的大門。本書主要分為三部分,從基礎(chǔ)的系統(tǒng)管理到Shell自動(dòng)化運(yùn)維的實(shí)現(xiàn),再到網(wǎng)絡(luò)服務(wù)器的部署實(shí)施,最后通過案例介紹高負(fù)載網(wǎng)絡(luò)架構(gòu)的企業(yè)環(huán)境。本書在選擇操作系統(tǒng)發(fā)行版本時(shí),綜合了各個(gè)發(fā)行版本的特點(diǎn),最終選擇了CentOS作為本書的基礎(chǔ)系統(tǒng)平臺(tái)。CentOS是眾多Linux發(fā)行版本之一,但因?yàn)槠湓醋杂赗edHat框架,同時(shí)該版本完全開源,包括開放的軟件YUM源,可以為用戶帶來更加方便的升級(jí)方法。另外,目前國內(nèi)很多企業(yè)對(duì)于CentOS發(fā)行版也非常熱衷,這也增加了本書的實(shí)用性。 本書結(jié)構(gòu) 本書第1篇為基礎(chǔ)知識(shí)篇,主要講述如何安裝部署Linux操作系統(tǒng)以及對(duì)基本命令行工具的使用概述,幫助讀者快速掌握Linux基本知識(shí)要點(diǎn),夯實(shí)基本功;赟hell腳本實(shí)現(xiàn)運(yùn)維工作自動(dòng)化,幫助運(yùn)維人員擺脫周而復(fù)始地進(jìn)行無效的工作,加快企業(yè)進(jìn)入自動(dòng)化、智能化的運(yùn)維環(huán)境。具體包括: ◎部署操作系統(tǒng) ◎命令工具 ◎自動(dòng)化運(yùn)維 第2篇為網(wǎng)絡(luò)服務(wù)架構(gòu)篇,主要討論網(wǎng)絡(luò)架構(gòu)的規(guī)劃與部署,通過網(wǎng)站綜合案例提升讀者的應(yīng)用能力,并針對(duì)常見問題提供故障排錯(cuò)。通過部署監(jiān)控與安全軟件確保網(wǎng)絡(luò)服務(wù)的正常及安全運(yùn)行。具體包括: ◎搭建網(wǎng)絡(luò)服務(wù) ◎系統(tǒng)監(jiān)控 ◎網(wǎng)絡(luò)安全 第3篇為高級(jí)應(yīng)用,主要描述當(dāng)前主流的虛擬化及服務(wù)器高可用技術(shù),滿足大型企業(yè)服務(wù)的生產(chǎn)需求。介紹集群及高可用軟件,這些軟件充分體現(xiàn)了在巨大數(shù)據(jù)壓力下產(chǎn)品業(yè)務(wù)的安全及性能優(yōu)勢。 ◎虛擬化技術(shù) ◎集群及高可用 ◎數(shù)據(jù)庫復(fù)制 排版說明 關(guān)于本書中的排版,如果書中的命令是需要讀者輸入的,我們將使用等比例黑體加粗顯示;對(duì)于計(jì)算機(jī)輸出的命令返回結(jié)果,書中將使用等比例斜體字顯示。由于采用開源模式,所以Linux操作系統(tǒng)中擁有大量明文文本形式的配置文件,對(duì)于打開及修改文本文件中的內(nèi)容,書中將把文件中的內(nèi)容放置于方框中排版書寫;對(duì)于需要讀者注意的地方,書中會(huì)給出明確的注意提示。 本書讀者 本書可以作為學(xué)習(xí)Linux應(yīng)用技術(shù)的一本指南,主要針對(duì)于希望進(jìn)入Linux運(yùn)維行業(yè)的新手,不過對(duì)于有經(jīng)驗(yàn)的專家而言,其中的部分章節(jié)同樣適用。另外,本書也可以作為計(jì)算機(jī)培訓(xùn)參考教材。 關(guān)于配置文件及代碼 本書中部分主要的配置文件及代碼可以在GitHub上下載,下載地址為:https://github.com/jacobproject/operation。 勘誤 作者在編寫本書的過程中已經(jīng)花了大量的時(shí)間對(duì)內(nèi)容進(jìn)行審核與校驗(yàn),但因?yàn)樽髡呔τ邢,書中難免出現(xiàn)一些錯(cuò)漏,敬請(qǐng)廣大專家和讀者批評(píng)、指正。 關(guān)于本書,您有任何意見或建議可以發(fā)送郵件至ydh0011@163.com,或使用博客平臺(tái)http://manual.blog.51cto.com與作者交流。 致謝 由于是采用的業(yè)余時(shí)間編寫本書,占用了大量本應(yīng)該可以和家人在一起的歡樂時(shí)光,在此感謝家人對(duì)我的支持與勉勵(lì),感謝我的兒子(子墨)和女兒(紫悅)給家庭帶來的無限歡樂。感謝我所有的同事對(duì)此項(xiàng)任務(wù)的全力配合與支持。感謝我的學(xué)生對(duì)本書的期待,是你們的無形支持促成了我編寫本書。感謝生活中所有給予我?guī)椭呐笥,是你們的支持讓我不斷地進(jìn)步與創(chuàng)新,不管是工作中還是生活中,好朋友都是我們成功的堅(jiān)實(shí)后盾。感謝胡洋、梁佳鵬為本書第2版修訂提供的修改建議。感謝電子工業(yè)出版社的編輯董英為本書的出版提供了大力的支持。 丁明一北京
丁明一,領(lǐng)航眾達(dá)教育創(chuàng)始人,紅帽認(rèn)證高級(jí)講師(RHCI),有著豐富的Linux系統(tǒng)運(yùn)維以及講師經(jīng)驗(yàn),培養(yǎng)學(xué)生兩千余名。精通Linux系統(tǒng)管理、生產(chǎn)環(huán)境大規(guī)模集中部署Linux環(huán)境、建立Shell腳本自動(dòng)化管理平臺(tái)。主持部署多個(gè)LAMP網(wǎng)絡(luò)服務(wù)平臺(tái)、構(gòu)建管理多個(gè)大型NginxWeb服務(wù)平臺(tái),項(xiàng)目實(shí)施中利用Cacti與Nagios監(jiān)控平臺(tái)實(shí)現(xiàn)自動(dòng)故障報(bào)警。對(duì)企業(yè)集群環(huán)境及高性能、高可用構(gòu)架有深入的研究。擁有豐富的虛擬化技術(shù)使用經(jīng)驗(yàn):Xen、KVM、VMware,利用虛擬化技術(shù)構(gòu)建高效、綠色節(jié)能機(jī)房。對(duì)安全與調(diào)優(yōu)有獨(dú)特的理解,精通Linux防火墻、SELinux安全、系統(tǒng)性能調(diào)優(yōu)化。翻譯過多篇國外云計(jì)算解決方案文檔,熟悉國外主流云計(jì)算技術(shù)發(fā)展。
第1篇 基 礎(chǔ) 知 識(shí)
第1章 部署操作系統(tǒng) 2 1.1 光盤安裝Linux操作系統(tǒng) 2 1.1.1 操作系統(tǒng)版本的選擇 2 1.1.2 光盤安裝Linux系統(tǒng)案例 2 1.2 無人職守自動(dòng)安裝Linux操作系統(tǒng) 11 1.2.1 大規(guī)模部署案例 11 1.2.2 PXE簡介 13 1.2.3 Kickstart技術(shù) 13 1.2.4 配置安裝服務(wù)器 14 1.2.5 自動(dòng)化安裝案例 16 1.3 常見問題分析 26 第2章 命令工具 29 2.1 基本命令 30 2.1.1 目錄及文件的基本操作 30 2.1.2 查看文件內(nèi)容 34 2.1.3 鏈接文件 37 2.1.4 壓縮及解壓 37 2.1.5 命令使用技巧 38 2.1.6 幫助 39 2.2 Vim文檔編輯 41 2.2.1 Vim工作模式 41 2.2.2 Vim光標(biāo)操作 42 2.2.3 Vim編輯文檔 43 2.2.4 Vim查找與替換 43 2.2.5 Vim保存與退出 44 2.2.6 Vim小技巧 45 2.3 賬戶與安全 46 2.3.1 賬戶及組的概念 46 2.3.2 創(chuàng)建賬戶及組 46 2.3.3 修改賬戶及組 47 2.3.4 刪除賬戶及組 48 2.3.5 賬戶與組文件解析 49 2.3.6 文件及目錄權(quán)限 51 2.3.7 賬戶管理案例 53 2.3.8 ACL訪問控制權(quán)限 54 2.4 存儲(chǔ)管理 55 2.4.1 磁盤分區(qū) 55 2.4.2 格式化與掛載文件系統(tǒng) 59 2.4.3 LVM邏輯卷概述 61 2.4.4 創(chuàng)建LVM分區(qū)實(shí)例 63 2.4.5 修改LVM分區(qū)容量 67 2.4.6 刪除LVM分區(qū) 68 2.4.7 RAID磁盤陣列概述 69 2.4.8 RAID級(jí)別 69 2.4.9 創(chuàng)建與管理軟RAID實(shí)例 73 2.4.10 RAID性能測試 76 2.4.11 RAID故障模擬 77 2.5 軟件管理 78 2.5.1 Linux常用軟件包類型 78 2.5.2 RPM軟件包管理 78 2.5.3 使用YUM安裝軟件包 80 2.5.4 YUM使用技巧 82 2.5.5 源碼編譯安裝軟件 83 2.5.6 常見問題分析 84 2.5.7 服務(wù)管理 85 2.6 計(jì)劃任務(wù) 87 2.6.1 at一次性計(jì)劃任務(wù) 87 2.6.2 cron周期性計(jì)劃任務(wù) 88 2.6.3 計(jì)劃任務(wù)權(quán)限 89 2.7 性能監(jiān)控 89 2.7.1 監(jiān)控CPU使用情況――uptime命令 89 2.7.2 監(jiān)控內(nèi)存及交換分區(qū)使用情況――free命令 89 2.7.3 監(jiān)控磁盤使用情況――df命令 90 2.7.4 監(jiān)控網(wǎng)絡(luò)使用情況――ip和netstat命令 91 2.7.5 監(jiān)控進(jìn)程使用情況――ps和top命令 93 2.8 網(wǎng)絡(luò)配置 94 2.8.1 命令行設(shè)置網(wǎng)絡(luò)參數(shù) 94 2.8.2 文件修改網(wǎng)絡(luò)參數(shù) 96 2.8.3 網(wǎng)絡(luò)故障排錯(cuò) 98 2.9 內(nèi)核模塊 100 2.9.1 內(nèi)核模塊存放位置 100 2.9.2 查看已加載內(nèi)核模塊 100 2.9.3 加載與卸載內(nèi)核模塊 101 2.9.4 修改內(nèi)核參數(shù) 101 第3章 自動(dòng)化運(yùn)維 103 3.1 Shell簡介 103 3.2 Bash功能介紹 104 3.2.1 命令歷史 104 3.2.2 命令別名 104 3.2.3 管道與重定向 105 3.2.4 快捷鍵 106 3.3 Bash使用技巧 106 3.3.1 重定向技巧 106 3.3.2 命令序列使用技巧 107 3.3.3 作業(yè)控制技巧 107 3.3.4 花括號(hào){}的使用技巧 108 3.4 變量 108 3.4.1 自定義變量 108 3.4.2 變量的使用范圍 109 3.4.3 環(huán)境變量 109 3.4.4 位置變量 111 3.4.5 變量的展開替換 111 3.4.6 數(shù)組 112 3.4.7 算術(shù)運(yùn)算與測試 113 3.5 Shell引號(hào) 115 3.5.1 反斜線 115 3.5.2 單引號(hào) 116 3.5.3 雙引號(hào) 116 3.5.4 反引號(hào) 116 3.6 正則表達(dá)式 117 3.6.1 基本正則表達(dá)式(Regular Expression) 117 3.6.2 擴(kuò)展正則表達(dá)式(Extended Regular Expression) 120 3.6.3 POSIX規(guī)范 121 3.6.4 GNU規(guī)范 122 3.7 Sed 122 3.7.1 Sed簡介 122 3.7.2 Sed基本語法格式 123 3.7.3 Sed入門范例 124 3.7.4 Sed指令與腳本 126 3.7.5 Sed高級(jí)應(yīng)用 131 3.8 Awk 134 3.8.1 Awk簡介 134 3.8.2 Awk工作流程 135 3.8.3 Awk基本語法格式 135 3.8.4 Awk操作指令 137 3.8.5 Awk高級(jí)應(yīng)用 141 3.9 Shell腳本 143 3.9.1 腳本格式范例 144 3.9.2 運(yùn)行腳本的方式 145 3.9.3 Shell腳本簡單案例 145 3.9.4 判斷語句應(yīng)用 148 3.9.5 循環(huán)語句應(yīng)用 152 3.9.6 控制語句應(yīng)用 155 3.9.7 Shell函數(shù)應(yīng)用 157 3.9.8 綜合案例 159 3.9.9 圖形腳本 163 第2篇 網(wǎng) 絡(luò) 服 務(wù) 第4章 搭建網(wǎng)絡(luò)服務(wù) 168 4.1 NFS文件共享 168 4.1.1 NFS服務(wù)器配置 169 4.1.2 客戶端訪問NFS共享 171 4.1.3 NFS高級(jí)設(shè)置 172 4.1.4 常見問題分析 175 4.2 Samba文件共享 176 4.2.1 快速配置Samba服務(wù)器 176 4.2.2 訪問Samba共享 178 4.2.3 配置文件詳解 180 4.2.4 Samba應(yīng)用案例 181 4.2.5 常見問題分析 184 4.3 vsftpd文件共享 185 4.3.1 FTP工作模式 185 4.3.2 安裝與管理vsftpd 186 4.3.3 配置文件解析 187 4.3.4 賬戶權(quán)限 188 4.3.5 vsftpd應(yīng)用案例 189 4.3.6 常見問題分析 192 4.4 ProFTPD文件共享 193 4.4.1 安裝ProFTPD軟件 194 4.4.2 配置文件解析 194 4.4.3 ProFTPD權(quán)限設(shè)置 195 4.4.4 虛擬用戶應(yīng)用案例 196 4.4.5 常見問題分析 199 4.5 Subversion版本控制 200 4.5.1 Subversion簡介 200 4.5.2 Subversion服務(wù)器對(duì)比 202 4.5.3 安裝Subversion軟件 203 4.5.4 svnserve服務(wù)器搭建 203 4.5.5 svnserve+SSH服務(wù)器搭建 208 4.5.6 Apache+SVN服務(wù)器搭建 209 4.5.7 對(duì)人協(xié)同編輯案例 211 4.5.8 常見問題 215 4.6 網(wǎng)絡(luò)存儲(chǔ)服務(wù)器 216 4.6.1 iSCSI網(wǎng)絡(luò)存儲(chǔ) 217 4.6.2 Rsync文件同步 220 4.6.3 Rsync+Inotify實(shí)現(xiàn)文件自動(dòng)同步 225 4.7 DHCP服務(wù)器 231 4.7.1 安裝軟件 231 4.7.2 配置文件解析 232 4.7.3 DHCP應(yīng)用案例 233 4.7.4 常見問題分析 234 4.8 DNS域名服務(wù)器 235 4.8.1 DNS簡介 235 4.8.2 安裝DNS軟件 237 4.8.3 配置文件解析 237 4.8.4 部署主域名服務(wù)器 241 4.8.5 部署從域名服務(wù)器 245 4.8.6 DNS視圖應(yīng)用案例 247 4.8.7 常見問題分析 249 4.9 Apache網(wǎng)站服務(wù)器 250 4.9.1 Apache簡介 250 4.9.2 安裝Apache軟件 250 4.9.3 配置文件解析 252 4.9.4 虛擬主機(jī)應(yīng)用案例 257 4.9.5 網(wǎng)站安全應(yīng)用案例 258 4.9.6 常見問題分析 260 4.10 Nginx網(wǎng)站服務(wù)器 261 4.10.1 Nginx簡介 261 4.10.2 安裝Nginx軟件 261 4.10.3 配置文件解析 264 4.10.4 虛擬主機(jī)應(yīng)用案例 266 4.10.5 SSL網(wǎng)站應(yīng)用案例 268 4.10.6 HTTP響應(yīng)狀態(tài)碼 270 4.11 數(shù)據(jù)庫基礎(chǔ) 271 4.11.1 MySQL數(shù)據(jù)庫簡介 271 4.11.2 安裝MySQL軟件 272 4.11.3 MySQL管理工具 273 4.11.4 數(shù)據(jù)庫定義語言 278 4.11.5 數(shù)據(jù)庫操作語言 282 4.11.6 數(shù)據(jù)庫查詢語言 284 4.11.7 MySQL與安全 285 4.11.8 MySQL數(shù)據(jù)庫備份與還原 288 4.12 動(dòng)態(tài)網(wǎng)站架構(gòu)案例 289 4.12.1 論壇系統(tǒng)應(yīng)用案例 290 4.12.2 博客系統(tǒng)應(yīng)用案例 296 第5章 系統(tǒng)監(jiān)控 300 5.1 Cacti監(jiān)控系統(tǒng) 300 5.1.1 簡介 300 5.1.2 Cacti監(jiān)控應(yīng)用案例 301 5.2 Nagios監(jiān)控系統(tǒng) 309 5.2.1 簡介 309 5.2.2 Nagios監(jiān)控應(yīng)用案例 310 第6章 網(wǎng)絡(luò)安全 322 6.1 防火墻 322 6.1.1 iptables防火墻語法格式 323 6.1.2 iptables防火墻應(yīng)用案例 326 6.1.3 防火墻備份與還原 329 6.1.4 firewalld簡介 330 6.1.5 firewalld-cmd命令 331 6.2 SELinux簡介 334 6.2.1 SELinux配置文件 335 6.2.2 SELinux軟件包 336 6.2.3 SELinux安全上下文 336 6.2.4 SELinux排錯(cuò) 337 6.2.5 修改安全上下文 339 6.2.6 查看與修改布爾值 341 6.2.7 SELinux應(yīng)用案例 342 6.2.8 httpd相關(guān)的SELinux安全策略 342 6.2.9 FTP相關(guān)的SELinux安全策略 344 6.2.10 MySQL相關(guān)的SELinux安全策略 345 6.2.11 NFS相關(guān)的SELinux安全策略 345 6.2.12 Samba相關(guān)的SELinux安全策略 346 6.3 OpenVPN 347 6.3.1 OpenVPN簡介 347 6.3.2 安裝OpenVPN服務(wù) 348 6.3.3 OpenVPN客戶端 351 第3篇 高 級(jí) 應(yīng) 用 第7章 虛擬化技術(shù) 354 7.1 虛擬化產(chǎn)品對(duì)比 354 7.1.1 VMware虛擬化技術(shù) 355 7.1.2 Xen虛擬化技術(shù) 355 7.1.3 KVM虛擬化技術(shù) 356 7.2 KVM虛擬化應(yīng)用案例 356 7.2.1 安裝KVM組件 356 7.2.2 創(chuàng)建虛擬機(jī)操作系統(tǒng) 357 7.2.3 監(jiān)控虛擬機(jī)操作系統(tǒng) 362 7.2.4 命令工具使用技巧 364 7.2.5 虛擬存儲(chǔ)與虛擬網(wǎng)絡(luò) 369 第8章 集群及高可用 379 8.1 集群 379 8.1.1 LVS負(fù)載均衡簡介 379 8.1.2 基于NAT的LVS負(fù)載均衡 380 8.1.3 基于TUN的LVS負(fù)載均衡 381 8.1.4 基于DR的LVS負(fù)載均衡 382 8.1.5 LVS負(fù)載均衡調(diào)度算法 383 8.1.6 部署LVS服務(wù) 384 8.1.7 LVS負(fù)載均衡應(yīng)用案例 387 8.1.8 常見問題分析 394 8.2 Keepalived雙機(jī)熱備 395 8.2.1 Keepalived簡介 395 8.2.2 VRRP協(xié)議簡介 395 8.2.3 安裝Keepalived服務(wù) 395 8.2.4 配置文件解析 396 8.2.5 Keepalived+LVS應(yīng)用案例 398 8.2.6 常見問題分析 405 8.3 Squid代理服務(wù)器 406 8.3.1 Squid簡介 406 8.3.2 安裝Squid服務(wù) 406 8.3.3 常見代理服務(wù)器類型 406 8.3.4 配置文件解析 408 8.3.5 Squid應(yīng)用案例 409 8.4 HAProxy負(fù)載均衡 413 8.4.1 HAProxy簡介 413 8.4.2 配置文件解析 413 8.4.3 HAProxy應(yīng)用案例 416 8.5 Nginx高級(jí)應(yīng)用 420 8.5.1 Nginx負(fù)載均衡 420 8.5.2 Nginx負(fù)載均衡案例 422 8.5.3 Nginx rewrite規(guī)則 425 8.6 MySQL高可用 429 8.6.1 MySQL復(fù)制 429 8.6.2 一步一步操作MySQL復(fù)制 430
4.8.6 DNS視圖應(yīng)用案例
view語句用來創(chuàng)建視圖,視圖可以讓不同的網(wǎng)絡(luò)或主機(jī)在查詢同一個(gè)DNS記錄時(shí)得到不同的解析結(jié)果,也可以為不同的網(wǎng)絡(luò)或主機(jī)創(chuàng)建不同的域數(shù)據(jù)文件。大型企業(yè)可以利用視圖實(shí)現(xiàn)負(fù)載均衡,例如,當(dāng)北京地區(qū)的網(wǎng)民訪問新浪網(wǎng)時(shí),域名服務(wù)器可以將結(jié)果解析為北京本地的新浪網(wǎng)服務(wù)器,上海地區(qū)的網(wǎng)民訪問新浪網(wǎng)時(shí),域名服務(wù)器會(huì)將上海的新浪網(wǎng)服務(wù)器IP地址作為結(jié)果返還給用戶。這樣所有的人訪問新浪網(wǎng)頁面查看新聞時(shí),總是可以連接距離自己最近的服務(wù)器。 在BIND 9版本中,如果沒有在主配置文件中使用view語句,則BIND會(huì)自動(dòng)將所有的域定義為一個(gè)大的視圖。通過在配置文件中使用view語句,并結(jié)合match-clients語句,實(shí)現(xiàn)不同用戶查詢相同記錄時(shí)所得的結(jié)果不同。這樣做的最大好處是可以讓北京地區(qū)的網(wǎng)民訪問新浪網(wǎng)時(shí)連接的是北京當(dāng)?shù)氐姆⻊?wù)器,而上海地區(qū)的網(wǎng)民需要連接新浪網(wǎng)時(shí),DNS解析的結(jié)果為上海本地的新浪服務(wù)器。 一般我們會(huì)為同一個(gè)域創(chuàng)建多個(gè)視圖,不同的視圖對(duì)應(yīng)不同的解析文件,此時(shí)需要注意的是,有多少個(gè)視圖就需要?jiǎng)?chuàng)建多少個(gè)對(duì)應(yīng)的數(shù)據(jù)解析文件。當(dāng)客戶端發(fā)送查詢請(qǐng)求后,服務(wù)器根據(jù)視圖內(nèi)的match-clients語句來匹配客戶端主機(jī),匹配成功后,服務(wù)器讀取特定的視圖內(nèi)file指定的數(shù)據(jù)文件,并將結(jié)果返回給客戶端,如果沒有匹配成功,則繼續(xù)查詢下一個(gè)視圖。如果所有的試圖都未能匹配成功,服務(wù)器將返回?zé)o相關(guān)數(shù)據(jù)記錄的信息給客戶端。下面的案例通過修改主域名服務(wù)器的主配置文件演示視圖的應(yīng)用,當(dāng)172.16.0.88請(qǐng)求abc.com域的相關(guān)解析記錄時(shí),服務(wù)器會(huì)讀取abc.com.zone.develop這個(gè)數(shù)據(jù)解析文件,172.16.0.89請(qǐng)求abc.com域的相關(guān)解析記錄時(shí),服務(wù)器會(huì)讀取abc.com.zone.tech這個(gè)數(shù)據(jù)解析文件。注意,在此需要?jiǎng)?chuàng)建4個(gè)數(shù)據(jù)解析文件,相同域的正向域名解析文件有兩個(gè),反向域名解析文件有兩個(gè),只要在不同的數(shù)據(jù)解析文件中對(duì)相同的記錄給予不同的解析結(jié)果,就可實(shí)現(xiàn)不同的用戶得到的返回結(jié)果也不一樣。 只要根據(jù)自己的實(shí)際需要?jiǎng)?chuàng)建相應(yīng)的數(shù)據(jù)文件,并在各個(gè)數(shù)據(jù)文件中對(duì)同一個(gè)數(shù)據(jù)記錄給出不同的解析數(shù)據(jù),即可實(shí)現(xiàn)智能DNS的分離解析功能。這里我們不可能將全北京或全上海的所有IP地址寫入match-clients,根據(jù)DNS查詢?cè)砦覀冎溃械慕K端用戶訪問網(wǎng)絡(luò)時(shí)都會(huì)連接當(dāng)?shù)豂SP服務(wù)商所提供的DNS服務(wù)器,這些服務(wù)商的DNS服務(wù)器會(huì)根據(jù)根服務(wù)器的提示迭代查詢到我們的權(quán)威服務(wù)器。也就是說,我們?cè)趍atch-clients后面僅需要填寫全國主要的ISP所提供的DNS服務(wù)器IP地址即可。不同地區(qū)服務(wù)商的DNS,我們給予不同的解析結(jié)果,最終所有的終端用戶會(huì)間接獲得正確的解析結(jié)果。這里我們不再給出具體的數(shù)據(jù)文件記錄,讀者可以根據(jù)實(shí)際情況自行填寫數(shù)據(jù)記錄。 以下為主配置文件named.conf實(shí)現(xiàn)視圖應(yīng)用的案例模板,讀者根據(jù)自己的實(shí)際需要稍作修改即可。 。ùa詳見書中) 4.8.7 常見問題分析 。1)由于BIND主配置文件中,默認(rèn)allow-query被設(shè)置為僅localhost可以進(jìn)行DNS查詢,如果要開放DNS服務(wù),則需要將allow-query修改為特定的主機(jī)或任意主機(jī)可以查詢的DNS服務(wù)。 。2)在主配置文件中,默認(rèn)listen-on被設(shè)置為僅監(jiān)聽本地回環(huán)地址,這樣客戶端也是無法連接服務(wù)器進(jìn)行查詢的。 。3)客戶端連接服務(wù)器發(fā)送的查詢請(qǐng)求使用的是UDP的53端口,而從服務(wù)器與主服務(wù)器同步數(shù)據(jù)時(shí)使用的是TCP的53端口,開放DNS服務(wù)后,要注意修改防火墻設(shè)置。 。4)在CentOS 7系統(tǒng)環(huán)境下,從域名服務(wù)器與主域名服務(wù)器同步數(shù)據(jù)時(shí),默認(rèn)SELinux會(huì)拒絕從遠(yuǎn)程下載的數(shù)據(jù)文件寫入本地磁盤,此時(shí)需要修改SELinux的布爾值,方法如下: [root@centos7 ~]# setsebool -P named_write_master_zones=1 (5)配置文件問題。如果管理員在配置文件中的語法格式有錯(cuò)誤,則named服務(wù)無法正常啟動(dòng)。例如,如果在配置文件語句后面少了分號(hào),啟動(dòng)服務(wù)時(shí)會(huì)提示類似的提示信息:/etc/named.conf:15: missing ';' before 'view',提示named.conf文件第15行左右少“;”符號(hào)。 。6)文件與目錄權(quán)限。由于BIND相關(guān)進(jìn)程都是以named用戶身份啟動(dòng)的,當(dāng)配置文件或數(shù)據(jù)文件的權(quán)限無法被正確讀取時(shí),則系統(tǒng)將無法啟動(dòng)BIND服務(wù)。通過查看/var/log/messages日志文件,可以看到none:0: open: /etc/named.conf: permission denied這樣的提示,說明BIND軟件啟動(dòng)時(shí)無權(quán)讀取named.conf文件。類似的問題還可能出現(xiàn)在從服務(wù)器同步的時(shí)候,要求從服務(wù)器一定要把主服務(wù)器的數(shù)據(jù)文件同步到本地有讀寫權(quán)限的目錄下。 ……
你還可能感興趣
我要評(píng)論
|