3dwoo大學簡體電腦書店
構建高可用Linux服務器
( 簡體 字)
作者:余洪春類別:1. -> 作業系統 -> Linux
出版社:機械工業出版社構建高可用Linux服務器 3dWoo書號: 33310
詢問書籍請說出此書號!
有庫存
NT售價: 395
出版日:8/1/2012
頁數:501
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787111391791 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
推薦序一

推薦序二

推薦序三

推薦序四

前言

第1章Linux服務器構建基礎/1

11Linux服務器的安裝方法/2

111光盤安裝CentOS 55 x86_64/2

112使用PXE+DHCP+Apache+KickStart無人值守安裝RHEL/12

113Linux的其他安裝方法/17

12全面了解Linux服務器/18

121查看Linux服務器的CPU詳細情況/18

122查看Linux服務器的內存使用情況/19

123查看Linux服務器的硬盤使用情況/20

124查看Linux系統的平均負載/23

125查看Linux系統的其他參數/24

13Linux服務器的網絡配置/27

131配置Linux服務器的網絡/27

132查看Linux服務器的網絡連接/30

133查看Linux服務器的進程/38

134在CentOS 55、FreeBSD 81及Windows下添加靜態路由/42

14Linux服務器的日志管理/45

141系統日志syslogconf的配置詳解/45

142Linux下的日志維護技巧/46

143用Shell腳本分析Nginx日志/50

15Linux服務器的優化/53

151根據服務器應用來選購服務器/53

152CentOS 55最小化安裝后的優化/57

153優化Linux下的內核TCP參數以提高系統性能/61

154生產服務器應盡量選擇編譯安裝軟件包/63

16用開源工具Nagios監控Linux服務器/64

161CentOS 55下的監控工具簡介/64

162Nagios應該監控的服務器基礎選項/65

163Nagios監控Windows 2003時應注意的事項/66

164Nagios使用心得/67

17項目實施中應該注意的事項/68

18小結/70

第2章Linux服務器虛擬化/71

21FreeBSD下的jail虛擬機/72

211jail虛擬機的特點/72

212在FreeBSD 81下安裝jail的詳細步驟/73

213使用jexec工具管理jail虛擬機/74

214使用ezjail工具創建和管理jail虛擬機/75

215jail在生產環境下的注意事項/78

22Linux系統自帶的Xen虛擬機/78

221Xen虛擬機的工作原理及優勢/79

222在CentOS 56 x86_64下安裝Xen虛擬機/81

223在CentOS 55下安裝Xen虛擬機/83

224安裝第一臺虛擬機(模板機)/86

2258分鐘快速部署虛擬機/88

226Xen虛擬機的管理/89

227Xen寄宿服務器的管理/89

228Xen在生產環境下的應用/92

23Citrix XenServer 56虛擬機使用心得/95

24用VMware Server搭建64位系統測試環境/97

25小結/100

第3章生產環境下服務器的故障診斷與排除/101

31快速排障的重要性和必要性/102

32安裝系統時容易發生的錯誤描述與處理方法/102

321忘記了CentOS 55的root密碼怎么辦/102

322正確重設root密碼/104

323安裝FreeBSD 81時不要設置/boot分區/105

324CentOS 55的Grub引導程序出錯/105

325安裝CentOS 55時忘了關閉iptables和SELinux/106

326如何解決PuTTY或PieTTY的亂碼問題/107

327安裝雙系統時不小心刪除了Grub所在的分區/107

33網絡配置時容易發生的錯誤描述與處理方法/109

331安裝CentOS 55時忘了激活網卡/109

332 CentOS 55網卡文件備份的正確方法/110

333解決遠程桌面超出最大連接數的問題/111

334在CentOS 55下如何正確配置網關/112

335VMware的機器應該如何配置自動對時/112

336防火墻初始化的注意事項/113

34系統維護時的注意事項/113

341盡量源碼安裝,謹慎操作yum/113

342服務器硬件改動進入了Emergency模式/114

343如何以普通用戶的身份編輯無權限的文件/114

344在Linux下配置最大文件打開數的方法/114

345在Crontab下運行PHP程序的正確方法/116

346在Crontab下正確防止腳本運行沖突/116

35緊急處理線上服務器故障的辦法/117

351更改Administrator密碼導致計劃任務無法執行/117

352FreeBSD 81下的sudoer文件意外損壞/117

353CentOS 55的root密碼被惡意篡改/117

354bash損壞該如何正確處理/118

355正確操作nohup讓程序始終在后臺運行/119

356負載均衡器出現故障/119

36檢查機房應注意的位置和細節問題/119

37系統維護時應注意的非技術因素/120

38小結/121

第4章生產環境下的Shell腳本/122

41Vim的基礎用法及進階心得/123

42Sed的基礎用法及實用舉例/127

421Sed的基礎語法格式/127

422Sed的用法舉例說明/129

43基礎正則表達式/134

44Linux下強大的查找命令find/139

45匯總Linux/UNIX下的bash快捷鍵/147

46生產環境下的Shell腳本分類/148

461生產環境下的Shell腳本備份類/149

462生產環境下的開發類Shell腳本/157

463生產環境下的統計類Shell腳本/159

464生產環境下的監控類Shell腳本/162

465生產環境下的自動化類Shell腳本/166

466生產環境下的安全類Shell腳本/170

47小結/173

第5章構建高可用的Linux集群/174

51負載均衡高可用的核心概念和常用軟件/175

511什么是負載均衡高可用/175

512以F5 BIGIP作為負載均衡器/176

513以LVS作為負載均衡器/176

514以Nginx作為負載均衡器/182

515以HAProxy作為負載均衡器/182

516高可用軟件Keepalived/184

517高可用軟件Heartbeat/184

518高可用塊設備DRBD/185

52負載均衡中的名詞解釋/186

521什么是Session/186

522什么是Session共享及實現的方法/186

523什么是會話保持/187

53負載均衡器的會話保持機制/188

531F5 BigIP的會話保持機制/188

532LVS的會話保持機制/189

54Linux集群的項目案例分享/200

541項目案例一:用Nginx+Keepalived實現在線票務系統/200

542項目案例二:企業級Web負載均衡高可用之Nginx+Keepalived/207

543項目案例三:用LVS+Keepalived構建高可用JSP集群/218

544項目案例四:Nginx主主負載均衡架構/225

545項目案例五:生產環境下的高可用NFS文件服務器/231

546項目案例六:HAProxy雙機高可用方案之HAProxy+Keepalived/239

547項目案例七:百萬級PV高可用網站架構設計/246

548項目案例八:千萬級PV高性能高并發網站架構設計/247

55軟件級負載均衡器的特點對比/251

56項目實踐中Linux集群的總結和思考/252

57細分五層解說網站架構/254

58網站架構應關注和研究的方向/256

59MySQL數據庫的優化/258

591服務器物理硬件的優化/258

592MySQL應該采用編譯安裝的方法/258

593MySQL配置文件的優化/258

594MySQL上線后根據status狀態進行適當優化/264

595MySQL數據庫的可擴展性架構方案/273

596MySQL雙主多從高可用配置方案/274

597生產環境下的MySQL數據庫主從Replication同步/276

598CentOS 56 x86_64下MySQL Proxy 082的安裝及測試/285

510生產環境下的MySQL數據庫備份/289

511部分項目施工圖紙/293

512小結/295

第6章VPN在企業中的部署應用/296

61流行的VPN技術及其分類/297

62如何選擇自己需要的VPN/299

63IPSec VPN的不足/299

64OpenVPN的應用范疇/300

65經典企業VPN部署案例/300

651案例一:在CentOS 55 x86_64下單網卡配置PPTPD服務器/300

652案例二:在CentOS 55 x86_64下路由模式配置OpenVPN服務器/307

653案例三:在FreeBSD 8 x86_64下網橋模式配置OpenVPN服務器/317

66部署OpenVPN服務器的注意事項/323

661OpenVPN如何注銷用戶/323

662OpenVPN服務器的安全問題/324

663OpenVPN服務器的負載均衡/325

67小結/325

第7章Linux防火墻及系統安全/326

71基礎網絡知識/327

711OSI網絡參考模型/327

712TCP/IP三次握手/四次揮手的過程詳解/328

713其他基礎網絡知識/330

72Linux防火墻的概念/330

73Linux防火墻在企業中的作用/331

74Linux防火墻的語法/331

75iptables基礎知識/335

751iptables的狀態state/335

752iptables的Conntrack記錄/337

753關于iptables模塊的說明/337

754iptables防火墻初始化的注意事項/337

755如何保存運行中的iptables規則/338

76如何流程化編寫iptables腳本/339

77學習iptables應該掌握的工具/341

771命令行的抓包工具TCPDump/341

772圖形化抓包工具Wireshark/342

773強大的命令行掃描工具Nmap/345

774安全工具hping/347

78iptables的簡單腳本學習/349

781普通的Web主機防護腳本/350

782如何讓別人ping不到自己而自己能ping通別人/351

783建立安全的vsftpd服務器/353

79線上生產服務器的iptables腳本/357

791安全的主機iptables防火墻腳本/358

792自動分析黑名單及白名單的iptables腳本/359

793利用recent模塊限制同一IP的連接數/362

794利用DenyHosts工具和腳本來防止SSH暴力破解/364

795將iptables作為企業的NAT路由器/368

796如何使用工具精確地監控NAT路由器/371

710TCP_wrappers應用級防火墻的介紹和應用/376

711系統運維工作中的Linux防火墻總結/378

712Linux系統自身的安全防護/379

7121SELinux簡介/379

7122SELinux的相關設置/379

713Linux系統安全相關的工具/380

7131Rootkit檢測工具Chkrootkit/381

7132文件系統完整性檢查工具Tripwire/383

7133防惡意掃描軟件PortSentry/388

714Linux服務器基礎防護篇/393

715如何防止入侵/394

716小結/395

第8章如何構建開源免費的企業級郵件系統/396

81DNS服務器的架設/397

811郵件服務器與DNS的關系/397

812如何架設內部DNS服務器/399

813如何以源碼方式安裝公網DNS服務器/406

814維護DNS服務器應該注意的事項/413

82電子郵件的傳輸過程/416

83如何搭建開發郵件服務器/417

831搭建Sendmail+Dovecot郵件系統/417

832搭建Postfix+Dovecot郵件系統/420

84搭建iRedMail企業級郵件服務器/423

841iRedMail企業級郵件服務器的介紹/423

842在CentOS 52 x86_64上安裝iRedMail 040/424

843Postfix本身的防垃圾功能/427

844iRedMail 040特有的防垃圾技術/432

845iRedMail 040如何利用ClamAV防病毒/436

846iRedMail 040郵件服務器的網絡安全/437

847iRedMail 040郵件服務器系統的監控/439

848iRedMail 040的系統文件備份/441

849iRedMail 040的MySQL數據庫備份方案/445

8410維護iRedMail 040郵件服務器的一些注意事項/451

85小結/452

第9章系統管理員在企業中的職業定位及發展方向/454

91系統管理員的概念和工作職責/455

92系統管理員應該熟悉的系統/456

93系統管理員應該熟悉的工具/460

94Linux的學習及進階之路/464

95系統管理員應該如何工作/467

96系統管理員的發展方向/469

97系統管理員如何進階為系統架構師/470

98系統管理員之企業生存守則/471

99小結/474

附錄AXmanager 30企業版實用技巧集錦/475

附錄B使用Screen管理遠程會話/485

附錄C自動化部署管理工具Puppet/487

附錄D在CentOS 55下配置rsync服務器/493

附錄Ersync+inotify實現數據的實時同步更新/498
本書是資深Linux/Unix系統管理專家兼架構師多年一線工作經驗的結晶,51CTO和ChinaUnix等知名社區聯袂推薦。第1版上市后廣獲好評,分別被《程序員》雜志和51CTO網站評選為“2011年度10大最具技術影響力的圖書”和“2011年度最受讀者喜愛的原創IT圖書”。第2版在第1版的基礎上進行了大量的修訂和補充,不僅修正了原來存在爭議和不夠完善的內容,而且補充了大量關于高可用的內容,使得本書在內容上更具價值。本書結合實際生產環境,從Linux虛擬化、集群、服務器故障診斷與排除、系統安全性等多角度闡述構建高可用Linux服務器的最佳實踐。本書實踐性非常強,包含大量企業級的應用案例及相應的解決方案,讀者可以直接用這些方案解決在實際工作中遇到的問題。

全書一共9章。第1章以作者的項目實踐為基礎,以RHEL和CentOS為平臺,有針對性地講解了構建高性能Linux服務器的應該掌握的核心知識,包括硬件、網絡配置、日志管理、性能優化、監控等重要內容;第2章講解了Linux服務器的虛擬化,主要包括VMware和Xen兩大虛擬機在Windows Server 2003和CentOS系統下的使用方法和工作原理,同時還介紹了Citrix XenServer的使用方法;第3章探討了生產環境下各種棘手的服務器故障的診斷與排除方法;第4章介紹了生產環境下的Shell腳本,這些腳本都經過實踐驗證,讀者可以直接在實際工作中使用;第5章首先講解了構建高可用Linux集群的理論知識,然后以作者的實際項目為例詳細演示了構建高可用Linux集群環境的方法(附有項目施工圖);最后還探討了MySQL數據庫性能優化方面的話題;第6章以理論與案例相結合的方式講解了VPN在企業中的部署與應用,包括VPN技術的分類和選擇、IPSec VPN的不足和OpenVPN的應用范疇、OpenVPN的部署案例和部署時的注意事項;第7章全面講解了Linux防火墻及系統安全方面的內容,其中iptables相關的知識是重點,講解非常詳細,很多腳本都可以直接使用;第8章介紹了構建免費開源的企業級郵件系統的完整過程,這也來自于作者在實際工作中的實踐;第9章針對系統管理員的學習、工作以及職業規劃給出了一些寶貴的建議,對新人尤為有幫助。
我的系統管理員之路

2005年我初識Linux,那會兒剛畢業,在一家大型國營公司值守Windows Server 2000服務器,當時“震蕩波”和“沖擊波”這兩種病毒很是猖狂,沒有打補丁的機器無一幸免。我所值守的服務器也未能例外,雖然我們在防毒方面投入了大量的精力和金錢(當時購買的都是正版Windows 2000系統和正版瑞星殺毒軟件)。有一次去朋友公司(省太平洋壽險下面的一個分支機構)參觀,我發現他們的服務器和終端系統都很奇怪,一問才知道是BSD系統,因為運行機制不一樣,所以Windows下的病毒絲毫影響不了它們,而且這些服務器很穩定,基本上不宕機。當時很是羨慕,心想要是哪一天我們的服務器也要換成BSD系統,這樣“沖擊波”和“震蕩波”就奈何不了我們,而且也不會藍屏,那該多好啊。

后來有幸到北京一家大型廣告公司上班,公司所用服務器基本上都是CentOS和FreeBSD,內部用的文件服務器是Samba,Web服務器是Apache和Nginx,公司的NAT路由器是iptables,核心業務是CDN系統,幾乎全部裝的都是CentOS 51 x86_64,僅有一臺裝的是Windows Server 2003,供程序員開發NET程序之用。公司的這套CDN系統要負責處理所有的流量,即使在高峰期并發量特別大的時候,網站也非常穩定。

我當時也對Linux產生了濃厚的興趣,嘗試改掉自己多年使用Windows的習慣,換成了純字符操作,并且嘗試用Shell完成自動化工作,用Vim+Sed處理文檔。后來,我發現自己越來越喜歡Linux了。公司有一臺vsftpd服務器,3年沒有重啟了,這很讓我吃驚,所以多次與人聊起。后來我又得知一位朋友所在的公司有一臺很老的RH8服務器,因為負責的是公司的核心業務,已經9年沒有重啟了,當時更加感到震撼,這更加堅定了我要學好Linux的決心。

在做項目實施工程師期間,有些客戶的核心網站的并發量并不是太大,但比較重要,所以他們都要求部署Linux集群,有時指定要部署LVS或HAProxy負載均衡器。在項目實施的過程中,我發現LVS/HAProxy的負載均衡確實非常強大,可以與硬件級的F5負載均衡器的能力相媲美。很快我就被Linux集群這門藝術迷住了,我自己曾研究了Nginx+Keepalived這種負載均衡高可用架構,并且在許多項目中成功實施,客戶反映效果也不錯。

現階段我的工作主要是設計和維護公司的電子商務網站,相對于CDN分布式系統而言,它沒有節點冗余,所以對Linux集群技術的要求更高。所以我將所有的網站應用都做了雙機高HA,LVS/HAProxy+Keepalived和Nginx+Keepalived,還有DRBD+Heartbeat+NFS文件高可用及MySQL的Replication復制。另外,由于電子商務網站涉及錢的問題,所以對安全性的要求也很高,我們平時都會從網絡安全(硬件防火墻)、系統安全、代碼安全和數據庫安全這些方面著手,盡力避免一切影響網站安全的行為。工作雖然辛苦,但看著自己架構的網站順利穩定地運行,心里還是很有成就感的,這也是我目前工作動力的主要源泉。

寫作本書的目的

從事系統管理和系統集成方面的工作已有七年了,在工作期間,我曾經擔任了一段時間的紅帽RHCE講師,到東北大學等高校推廣紅帽Linux系統。在教學過程中我發現,很多學生在進入企業后都無法勝任自己的工作,更談不上正確地規劃自己的職業道路了。一方面因為企業的生產環境具有一定的復雜性;另一方面市場上入門書居多,缺乏能真正指導讀者解決實際問題的書籍。例如,很多書都只是通過VMware ESXi或XenServer虛擬出了VM系統,對于線上環境,根本沒有涉及并發、PV和數據庫壓力等相關話題。

之所以寫這本書,一方面是想對自己這些年的工作經驗和心得進行一次系統的梳理和總結;另一方面是想將自己的經驗分享給大家,希望能幫助大家少走彎路。通過本書中的項目實踐(包括Linux集群、OpenVPN、郵件系統和iptables防火墻)和線上環境的Shell腳本,大家能迅速進入工作狀態。書中所提供的Shell腳本和iptables腳本均來自于線上的生產服務器,大家均可以直接拿來用。關于Linux集群的項目實踐,大家也可以根據實際項目的需求直接采用,以此來設計自己公司的網站架構。

希望大家能通過本書掌握Linux的精髓,輕松而愉快地工作,從而提高自己的技術水平,這是我非常希望看到的,這也是我寫此書的初衷。

第1版與第2版的區別

本書是第2版,在寫作中吸收了讀者對上一版內容的許多意見和建議,繼續進一步修正第1版的排版錯誤和人為錯誤及其他問題。為了更契合書名,刪除了第1版第2章中的部分無關內容,其余內容并進第3章和附錄;第4章,生產環境下的Shell腳本增添了基于CentOS平臺的線上腳本,希望大家能在工作中充分使用。此外,新增了第5章,即構建高可用Linux集群內容,并用線上的HAProxy+Keepalived取代了原先的HAProxy + Heartbeat高可用方案。第6章詳細介紹了目前生產環境下比較實用的集群應用架構,即Nginx+Keepalived和HAProxy+Keepalived,用Dual Master+多從的MySQL架構取代原有的MySQL Cluster方案,目的是讓大家多了解現階段熱門的負載均衡技術,避免大家一提到負載均衡就想起LVS。因為在使用中發現MySQL Cluster存在許多不足和Bug,使用現有成熟的雙主多從MySQL架構能更好地實現需求。

讀者對象

本書適合以下幾類讀者:

系統管理員和系統工程師

網絡管理員和企業網管

項目實施工程師

開發人員

如何閱讀本書

本書的內容是對實際工作經驗的總結,涉及大量的知識點和專業術語,建議經驗還不是很豐富的讀者先了解第1章的內容,這章比較基礎,如果大家在學習過程中根據這章的講解進行操作,定會達到事半功倍的效果。

系統管理員和系統工程師們則可以重點關注第2章的(Linux服務器虛擬化)、第5章(Linux集群)及第7章(iptables防火墻及系統安全)的內容,這些都與我們的日常工作息息相關,建議大家多花些精力和時間,抱著一切從線上環境去考慮的態度去學習。

對于網絡管理員和企業網管來說,如果基礎不是太扎實,建議先學習第1章的內容,然后將重點放在第6章(VPN在企業中的部署應用)和第7章上。

對于項目實施工程師而言,由于大多數都是從事系統集成相關工作的,因此建議順序學習全書的內容,重心可以放在本書的第5章上面。

對于開發人員來說,由于其只需對系統有一個大概的了解,重點可以放在第1章和第4章(生產環境下的Shell腳本)上。

大家可以根據自己的職業發展和工作需要選擇不同的閱讀順序和側重點,同時也可以對其他相關的知識點有一定的了解。

致謝

感謝我的家人,她們在生活上對我無微不至的照顧,讓我更有精力和動力去工作和創作。

感謝東北大學信息技術學院的付沖教授,感謝您在我人生最窮困潦倒的時候伸出援手。

感謝北京總公司的技術總監唐老師,他對iptables防火墻相關的內容提出了許多指導性的建議,并且在CDN系統維護方面教會了我許多。

感謝老男孩前輩在網站架構設計方面給出的指導性意見,他的經驗和專業知識讓我受益匪淺。

感謝和我一起從事系統運維工作的朋友:曹亞孟、胡安偉和崔曉輝。曹亞孟為本書中與Linux虛擬化相關的內容提供了寶貴的資料,這是他幾年來從事Xen虛擬化工作的經驗總結;胡安偉為本書提供了許多精美的插圖,并就Linux集群相關的內容提出了許多寶貴的意見;崔曉輝為本書提供了大量的線上Shell腳本。另外,還要對我的同事ritto表示衷心的感謝!

感謝朋友劉鑫,和我一起花了大量時間研究和調試HAProxy+Keepalived。

感謝51ctocom的編輯們,尤其是趙克衡、楊賽、王文文、張浩和邵程程,正是有了你們的信任和幫助,此書才得以問世。

感謝Linux高級群中的深夜的蚊子、結冰的西瓜、jack、狠希耐等朋友,感謝你們對我的支持,沒有你們的相伴,我能否堅持到今天,可能還是個未知數。

感謝我的朋友三寶,感謝他這么多年來對我的信任和支持,在我苦悶的時候陪我聊天。

感謝在工作和生活中給予過我幫助的所有人,感謝你們,正是因為有了你們,才有了本書的問世。

關于勘誤

盡管我花了大量時間和精力去核對書中的文字、代碼和圖片,但因為時間倉促和水平有限,書中仍難免會有一些錯誤和紕漏,如果大家發現問題,懇請反饋給我,相關信息可發到我的郵箱yuhongchun027@gmailcom。盡管我無法保證每一個問題都會有正確的答案,但我肯定會努力回答并指出一個正確的方向。

如果大家對本書有任何疑問或想與我探討Linux技術,可以訪問我的個人博客,地址為:http://andrewyublog51ctocom,我的微博地址為http://weibocom/yuhongchun027。另外,我在51CTO和ChinaUnix社區的ID均為“撫琴煮酒”,大家也可以直接通過此ID在社區中與我在線交流。



余洪春(撫琴煮酒)
pagetop