linux運維之道

linux運維之道

隨著開源技術的不斷進步與創新,整個 IT行業中越來越多的企業願意採用開源產品,而基於 Linux的作業系統為這些開源產品提供了一個極佳的操作平台。《Linux運維之道》將圍繞 Linux作業系統這樣一個基礎平台,講解如何使用作業系統實現各種開源產品的套用案例。全書主要從運維工作中的套用服務入手,全面講解基本 Linux作業系統以及各種軟體服務的運維工作。

現在的商業環境是一個充滿競爭的環境,很多企業的業務量在不斷地增長,而對服務質量的要求也越來越高。特別是網際網路企業為了滿足客戶更高的需求,提升用戶使用體驗。 IT部門維護的設備往往數以萬計,如此龐大的設備維護量,通常會讓 IT管理人員頭疼不已。《Linux運維之道》介紹的自動化運維的內容可以讓我們快速掌握大規模批量處理的簡單方法。僅僅依靠自動化運維還不足以發揮出這些設備能效,因此,我們還需要將這個伺服器設備有機地結合在一起,為客戶提供更加安全、快捷、高效的服務,於是集群技術應運而生。《Linux運維之道》最後將圍繞集群技術介紹目前比較流行的開源產品部署案例。

《Linux運維之道》從基礎講到伺服器的高級套用,適合於 Linux運維人員、Linux愛好者閱讀,可作為 Linux運維人員的一本優秀的案頭書。

基本介紹

  • 書名:linux運維之道
  • 作者:丁明一
  • 定價:69.00元
  • 出版時間:2014年1月
編目,編輯推薦,內容提要,目錄,作者簡介,媒體評論,前言,本書結構,排版說明,本書讀者,勘誤,致謝,

編目

Linux運維之道(大量經典案例、問題分析,運維案頭書,紅帽推薦
丁明一 編
ISBN 978-7-121-21877-4
2014年1月出版
定價:69.00元
448
16

編輯推薦

1、《Linux運維之道》從運維工作的實際需求出發,全面講解相關的技術、經典案例,以及常見問題的解決方案。
2、作者丁明一具有豐富的實踐及教學經驗,且非常認真,本書是其嘔心瀝血之作,不僅內容精益求精,代碼的編排作者也花了一些心思,可見其縝密。
3、本書得到了多位業內專家的強烈推薦,包括紅帽大中華區考官黃軍寶、原紅帽中國高級認證考官許成林,以及百度、新浪、達內、武漢譽天的運維工程師和培訓講師。
4、運維是一項需要多種技能的工作,本書作者丁明一告訴您如何成為一名合格的運維工程師,能夠直接提高運維人員的工作效率,值得閱讀。

內容提要

隨著開源技術的不斷進步與創新,整個 IT行業中越來越多的企業願意採用開源產品,而基於 Linux的作業系統為這些開源產品提供了一個極佳的操作平台。《Linux運維之道》將圍繞 Linux作業系統這樣一個基礎平台,講解如何使用作業系統實現各種開源產品的套用案例。全書主要從運維工作中的套用服務入手,全面講解基本 Linux作業系統以及各種軟體服務的運維工作。
現在的商業環境是一個充滿競爭的環境,很多企業的業務量在不斷地增長,而對服務質量的要求也越來越高。特別是網際網路企業為了滿足客戶更高的需求,提升用戶使用體驗。 IT部門維護的設備往往數以萬計,如此龐大的設備維護量,通常會讓 IT管理人員頭疼不已。《Linux運維之道》介紹的自動化運維的內容可以讓我們快速掌握大規模批量處理的簡單方法。僅僅依靠自動化運維還不足以發揮出這些設備能效,因此,我們還需要將這個伺服器設備有機地結合在一起,為客戶提供更加安全、快捷、高效的服務,於是集群技術應運而生。《Linux運維之道》最後將圍繞集群技術介紹目前比較流行的開源產品部署案例。
《Linux運維之道》從基礎講到伺服器的高級套用,適合於 Linux運維人員、Linux愛好者閱讀,可作為 Linux運維人員的一本優秀的案頭書。

目錄

第1篇 基礎知識
第1章 部署作業系統 2
1.1 光碟安裝Linux作業系統 2
1.1.1 作業系統版本的選擇 2
1.1.2 光碟安裝Linux系統案例 2
1.2 無人職守自動安裝Linux作業系統 15
1.2.1 大規模部署案例 15
1.2.2 PXE簡介 16
1.2.3 Kickstart技術 17
1.2.4 配置安裝伺服器 18
1.2.5 自動化安裝案例 19
1.3 常見問題分析 27
第2章 命令工具 30
2.1 基本命令 31
2.1.1 目錄及檔案的基本操作 31
2.1.2 查看檔案內容 35
2.1.3 連結檔案 37
2.1.4 壓縮及解壓 38
2.1.5 命令使用技巧 39
2.1.6 幫助 40
2.2 Vim文檔編輯 42
2.2.1 Vim工作模式 42
2.2.2 Vim游標操作 43
2.2.3 Vim編輯文檔 43
2.2.4 Vim查找與替換 44
2.2.5 Vim保存與退出 45
2.2.6 Vim小技巧 45
2.3 賬戶與安全 46
2.3.1 賬戶及組的概念 46
2.3.2 創建賬戶及組 46
2.3.3 修改賬戶及組 48
2.3.4 刪除賬戶及組 49
2.3.5 賬戶與組檔案解析 49
2.3.6 檔案及目錄許可權 51
2.3.7 賬戶管理案例 53
2.3.8 ACL訪問控制許可權 54
2.4.1 磁碟分區 56
2.4.2 格式化與掛載檔案系統 60
2.4.3 LVM邏輯卷概述 62
2.4.4 創建LVM分區實例 64
2.4.5 修改LVM分區容量 68
2.4.6 刪除LVM分區 69
2.4.7 RAID磁碟陣列概述 69
2.4.8 RAID級別 70
2.4.9 創建與管理軟RAID實例 74
2.4.10 RAID性能測試 77
2.4.11 RAID故障模擬 78
2.5 軟體管理 79
2.5.1 Linux常用軟體包類型 79
2.5.2 RPM軟體包管理 79
2.5.3 使用YUM安裝軟體包 81
2.5.4 YUM使用技巧 83
2.5.5 源碼編譯安裝軟體 84
2.5.6 常見問題分析 85
2.5.7 服務管理 86
2.6 計畫任務 88
2.6.1 at一次性計畫任務 88
2.6.2 cron周期性計畫任務 89
2.6.3 計畫任務許可權 90
2.7 性能監控 90
2.7.1 監控CPU使用情況——uptime命令 90
2.7.2 監控記憶體及交換分區使用情況——free命令 91
2.7.3 監控磁碟使用情況——df命令 91
2.7.4 監控網路使用情況——ifconfig和netstat命令 92
2.7.5 監控進程使用情況——ps和top命令 94
2.8 網路配置 95
2.8.1 命令行設定網路參數 95
2.8.2 檔案修改網路參數 97
2.8.3 網路故障排錯 99
2.9 核心模組 101
2.9.1 核心模組存放位置 101
2.9.2 查看已載入核心模組 102
2.9.3 載入與卸載核心模組 102
2.9.4 修改核心參數 103
第3章 自動化運維 104
3.1 Shell簡介 104
3.2 Bash功能介紹 105
3.2.1 命令歷史 105
3.2.2 命令別名 105
3.2.3 管道與重定向 106
3.2.4 快捷鍵 107
3.3 Bash使用技巧 107
3.3.1 重定向技巧 107
3.3.2 命令序列使用技巧 108
3.3.3 作業控制技巧 108
3.3.4 花括弧{}的使用技巧 109
3.4 變數 109
3.4.1 自定義變數 109
3.4.2 變數的使用範圍 110
3.4.3 環境變數 111
3.4.4 位置變數 112
3.4.5 變數的展開替換 112
3.4.6 數組 113
3.4.7 算術運算與測試 114
3.5 Shell引號 116
3.5.1 反斜線 116
3.5.2 單引號 117
3.5.3 雙引號 117
3.5.4 反引號 117
3.6 正則表達式 118
3.6.1 基本正則表達式(Regular Expression) 119
3.6.2 擴展正則表達式(Extended Regular Expression)122
3.6.3POSIX規範 122
3.6.4GNU規範 123
3.7Sed 124
3.7.1Sed簡介 124
3.7.2Sed基本語法格式 124
3.7.3Sed入門範例 125
3.7.4 Sed指令與腳本 127
3.7.5 Sed高級套用 132
3.8 Awk 136
3.8.1 Awk簡介 136
3.8.2 Awk工作流程 136
3.8.3 Awk基本語法格式 137
3.8.4 Awk操作指令 138
3.8.5Awk高級套用 142
3.9Shell腳本 145
3.9.1 腳本格式範例 146
3.9.2 運行腳本的方式 146
3.9.3Shell腳本簡單案例 147
3.9.4 判斷語句套用 150
3.9.5 循環語句套用 154
3.9.6 控制語句套用 158
3.9.7 Shell函式套用 159
3.9.8 綜合案例 162
3.9.9 圖形腳本 166
第2篇 網路服務
第4章 搭建網路服務 170
4.1 NFS檔案共享 170
4.1.1 NFS伺服器配置 171
4.1.2 客戶端訪問NFS共享 173
4.1.3 NFS高級設定 174
4.1.4 常見問題分析 177
4.2 Samba檔案共享 178
4.2.1 快速配置Samba伺服器 178
4.2.2 訪問Samba共享 180
4.2.3 配置檔案詳解 182
4.2.4 Samba套用案例 183
4.2.5 常見問題分析 186
4.3 vsftpd檔案共享 187
4.3.1 FTP工作模式 188
4.3.2 安裝與管理vsftpd 189
4.3.3 配置檔案解析 189
4.3.4 賬戶許可權 190
4.3.5 vsftpd套用案例 191
4.3.6 常見問題分析 195
4.4 ProFTPD檔案共享 196
4.4.1 安裝ProFTPD軟體 196
4.4.2 配置檔案解析 197
4.4.3 ProFTPD許可權設定 198
4.4.4 虛擬用戶套用案例 198
4.4.5 常見問題分析 202
4.5 Subversion版本控制 202
4.5.1 Subversion簡介 202
4.5.2 Subversion伺服器對比 204
4.5.3 安裝Subversion軟體 205
4.5.4 svnserve伺服器搭建 205
4.5.5 svnserve+SSH伺服器搭建 210
4.5.6 Apache+SVN伺服器搭建 211
4.5.7 常見問題 213
4.6.1 iSCSI網路存儲 215
4.6.2 Rsync檔案同步 219
4.6.3 Rsync+Inotify實現檔案自動同步 225
4.7 DHCP伺服器 231
4.7.1 安裝軟體 231
4.7.2 配置檔案解析 232
4.7.3 DHCP套用案例 233
4.7.4 常見問題分析 234
4.8 DNS域名伺服器 235
4.8.1 DNS簡介 235
4.8.2 安裝DNS軟體 237
4.8.3 配置檔案解析 238
4.8.4 部署主域名伺服器 241
4.8.5 部署從域名伺服器 245
4.8.6 DNS視圖套用案例 247
4.8.7 常見問題分析 249
4.9 Apache網站伺服器 250
4.9.1 Apache簡介 250
4.9.2 安裝Apache軟體 250
4.9.3 配置檔案解析 252
4.9.4 虛擬主機套用案例 257
4.9.5 網站安全套用案例 259
4.9.6 常見問題分析 260
4.10 Nginx網站伺服器 261
4.10.1 Nginx簡介 261
4.10.2 安裝Nginx軟體 261
4.10.3 配置檔案解析 264
4.10.4 虛擬主機套用案例 267
4.10.5 SSL網站套用案例 269
4.10.6 HTTP回響狀態碼 270
4.11 資料庫基礎 271
4.11.1 MySQL資料庫簡介 271
4.11.2 安裝MySQL軟體 272
4.11.3 MySQL管理工具 273
4.11.4 資料庫定義語言 278
4.11.5 資料庫操作語言 283
4.11.6 資料庫查詢語言 285
4.11.7 MySQL與安全 286
4.11.8 MySQL資料庫備份與還原 289
4.12 動態網站架構案例 290
4.12.1 論壇系統套用案例 291
4.12.2 部落格系統套用案例 297
第5章 系統監控 301
5.1 Cacti監控系統 301
5.1.1 簡介 301
5.1.2 Cacti監控套用案例 302
5.2 Nagios監控系統 310
5.2.1 簡介 310
5.2.2 Nagios監控套用案例 311
第6章 網路安全 323
6.1 iptables防火牆 323
6.1.1 iptables防火牆語法格式 324
6.1.2 iptables防火牆套用案例 327
6.1.3 防火牆備份與還原 330
6.2 SELinux簡介 331
6.2.1 SELinux配置檔案 331
6.2.2 SELinux軟體包 332
6.2.3 SELinux安全上下文 333
6.2.4 SELinux排錯 334
6.2.5 修改安全上下文 336
6.2.6 查看與修改布爾值 338
6.2.7 SELinux套用案例 339
6.2.8 httpd相關的SELinux安全策略 339
6.2.9 FTP相關的SELinux安全策略 340
6.2.10 MySQL相關的SELinux安全策略 341
6.2.11 NFS相關的SELinux安全策略 342
6.2.12 Samba相關的SELinux安全策略 343
6.3 OpenVPN 344
6.3.1 OpenVPN簡介 344
6.3.2 安裝OpenVPN服務 345
6.3.3 OpenVPN客戶端 348
第3篇 高級套用
第7章 虛擬化技術 352
7.1 虛擬化產品對比 352
7.1.1 VMware虛擬化技術 353
7.1.2 Xen虛擬化技術 353
7.1.3 KVM虛擬化技術 354
7.2 KVM虛擬化套用案例 354
7.2.1 安裝KVM組件 354
7.2.2 創建虛擬機作業系統 355
7.2.3 監控虛擬機作業系統 360
7.2.4 命令工具使用技巧 362
第8章 集群及高可用 377
8.1 集群 377
8.1.1 LVS負載均衡簡介 377
8.1.2 基於NAT的LVS負載均衡 378
8.1.3 基於TUN的LVS負載均衡 379
8.1.4 基於DR的LVS負載均衡 380
8.1.5 LVS負載均衡調度算法 381
8.1.6 部署LVS服務 382
8.1.7 LVS負載均衡套用案例 385
8.1.8 常見問題分析 392
8.2 Keepalived雙機熱備 393
8.2.1 Keepalived簡介 393
8.2.2 VRRP協定簡介 394
8.2.3 安裝Keepalived服務 394
8.2.4 配置檔案解析 395
8.2.5 Keepalived+LVS套用案例 396
8.2.6 常見問題分析 404
8.3 Squid代理伺服器 405
8.3.1 Squid簡介 405
8.3.2 安裝Squid服務 405
8.3.3 常見代理伺服器類型 406
8.3.4 配置檔案解析 407
8.3.5 Squid套用案例 408
8.4 HAProxy負載均衡 412
8.4.1 HAProxy簡介 412
8.4.2 配置檔案解析 413
8.4.3 HAProxy套用案例 416
8.5 Nginx高級套用 420
8.5.1 Nginx負載均衡 420
8.5.2 Nginx負載均衡案例 422
8.5.3 Nginx rewrite規則 425
8.6 MySQL高可用 429
8.6.1 MySQL複製 429
8.6.2 一步一步操作MySQL複製 430

作者簡介

丁明一,領航眾達教育創始人,紅帽認證高級講師(RHCI),有著豐富的Linux系統運維以及講師經驗,培養學生兩千餘名。精通Linux系統管理、生產環境大規模集中部署Linux環境、建立Shell腳本自動化管理平台。主持部署多個LAMP網路服務平台、構建管理多個大型Nginx Web服務平台,項目實施中利用CactiNagios監控平台實現自動故障報警。對企業集群環境及高性能、高可用構架有深入的研究。擁有豐富的虛擬化技術使用經驗:Xen、KVM、VMware,利用虛擬化技術構建高效、綠色節能機房。對安全與調優有獨特的理解,精通Linux防火牆、SELinux安全、系統性能調最佳化。翻譯過多篇國外頂級雲計算解決方案文檔,熟悉國外主流雲計算技術發展。

媒體評論

本書從基本的作業系統知識與實踐到網際網路套用,由淺入深,由表及里,層層推進;對作為開源技術中既基礎又非常重要的Linux作業系統的各類操作和技巧作了詳細的闡述;進而對各類常用服務如ApacheNginx、MySQL等進行了深度的剖析;同時又考慮到系統及服務的安全。可見作者心思縝密,為本書費盡心血。拜讀本書之後,受益非淺,其中許多小技巧在工作中非常有幫助,相信讀者在閱讀本書之後也能大受裨益。
紅帽大中華區考官 黃軍寶
在技術發展十分迅速的領域,趕時髦的書多如牛毛,書店裡充滿了應景之作,但是,真正經過深入思考、用心、用技術寫作的書不多。而本書卻是一位技術高手的嘔心瀝血之作,書中的每項技術都介紹得很通透,並且反覆經過思考和推敲。在本書即將出版之際,我向作者表示深深的敬意和祝賀,並向所有的Linux愛好者推薦這本學習Linux技術的好書。
原紅帽中國高級認證考官許成林
作者以其多年的工作經驗,總結歸納了一套適合於各種層次水平的Linux書籍。本書內容講解深入淺出,配合大量的經典案例,通俗易懂,實用性非常強。尤其書中提供的常見問題分析,根據各種常見問題提供了不同的解決方案,這樣可以幫助讀者排除很多已知的常見故障。對於初級運維人員以及高級運維工作者,本書都相當高的具體技術實踐指導意義。
武漢譽天高級講師 鄒聖林
很多初學者,包括筆者的初學期都發現,在品類繁多的入門書籍中,很難找到一本由基礎知識展開,深入淺出的覆蓋到程式語言、集群架構等全面運維知識點的書籍。本書作者從實際運維工作出發,結合概念、知識,帶領讀者從實際操作深化到工作原理,讓讀者輕鬆上手,全面掌握理論,強化實際操作,非常值得一讀。
運維方向上一直缺乏一本內容比較全面的書籍。這本書正是從入門到高級,內容覆蓋了運維的方方面面,非常有實踐指導價值,是運維和開發人員都可以深入閱讀的一本好書。
新浪運維架構師 白貴興
這是一本難得的好書,內容全面涵蓋了Linux入門基礎、生產環境常用服務以及大規模業務部署。本書語言精煉、內容緊湊,非常適合作為Linux技術人員的枕邊書。通過閱讀本書內容您可以獲得大量企業實踐項目的實際動手能力。
達內集團網路工程教研總監 周華飛

前言

撰寫本書的起因
目前越來越多的企業需要依賴於IT技術發布產品與服務,尤其是電子商務最為明顯,它凸顯了IT技術在現代企業中的重要性。當企業需要部署IT業務時,機房與伺服器是整個IT技術生態鏈中非常重要的環節。對伺服器作業系統的選擇,Linux以其開源、穩定、安全的特性,目前在伺服器領域已經稱為無可爭議的霸主,而且有眾多的服務可以套用於Linux平台,可以靈活地套用這些服務以滿足企業的各種業務需求。本書重點在於講解如何部署伺服器作業系統以及在Linux作業系統平台上部署常見的IT服務。
從1991年起至今,Linux已經快速成長為企業伺服器產品的首選作業系統,越來越多的IT企業採用Linux作為其伺服器端平台作業系統,為客戶提供高性能、高可用的業務服務。隨著紅帽公司宣布其年營業額超10億美元,也標誌著開源Linux作業系統的光輝時代已經來臨。紅帽的成功預示著採用開源模式的Linux作業系統可以為企業提供安全、可靠和高性能的平台系統。伺服器領域中Linux作業系統的份額越來越大,而目前技術人才又相對匱乏,導致大量的就業人才缺口,本書著眼於Linux技術中方方面面的主流技術,為讀者進入Linux行業開啟了一扇暢通的大門。本書主要分為三部分,從基礎的系統管理到Shell自動化運維的實現,再到網路伺服器的部署實施,最後通過案例介紹高負載網路架構的企業環境。本書在選擇作業系統發行版本時,綜合了各個發行版本的特點,最終選擇了CentOS作為本書的基礎系統平台。CentOS是眾多Linux發行版本之一,但因為其源自於RedHat框架,同時該版本完全開源,包括開放的軟體YUM源,可以為用戶帶來更加方便的升級方法。另外,目前國內很多企業對於CentOS發行版也非常熱衷,這也增加了本書的實用性。

本書結構

本書第1篇為基礎知識篇,主要講述如何安裝部署Linux作業系統以及對基本命令行工具的使用,幫助讀者快速掌握Linux基本知識要點,夯實基本功。基於Shell腳本實現運維工作自動化,幫助運維人員擺脫周而復始地進行無效的工作,加快企業進入自動化、智慧型化的運維環境。具體包括:
◎ 部署作業系統
◎ 命令工具
◎ 自動化運維
第2篇為網路服務架構篇,主要討論網路架構的規劃與部署,通過網站綜合案例提升讀者的套用能力,並針對常見問題提供故障排錯。通過部署監控與安全軟體確保網路服務的正常及安全運行。具體包括:
◎ 搭建網路服務
◎ 系統監控
◎ 網路安全
第3篇為高級套用,主要描述當前主流的虛擬化及伺服器高可用技術,滿足大型企業服務的生產需求。通過集群及高可用軟體充分體現巨大的數據壓力下產品業務的安全及性能優勢。
◎ 虛擬化技術
◎ 集群及高可用
◎ 資料庫複製

排版說明

關於本書中的排版,如果書中的命令是需要讀者輸入,我們將使用等比例黑體加粗顯示;對於計算機輸出的命令返回結果,書中將使用等比例斜體字顯示。由於採用的開源模式,隨意Linux作業系統中擁有大量的文本形式的配置檔案,對於打開及修改文本檔案中的內容,書中將把檔案中的內容放置於方框中排版書寫;對於需要讀者注意的地方,書中會給出明確的注意提示。

本書讀者

本書可以作為學習Linux套用技術的一本指南,主要針對與希望進入Linux運維行業的新手,不過對於有經驗的專家而言,其中的部分章節同樣適用。另外,本書也可以作為計算機培訓參考教材。

勘誤

作者在編寫本書的過程中已經花了大量的時間對內容進行審核與校驗,但因為時間緊迫,作者精力有限,書中難免出現一些錯漏,敬請廣大專家和讀者批評、指正。

致謝

由於是採用的業餘時間編寫本書,占有了大量本應該可以和家人在一起的歡樂時光,在此感謝家人對我的支持與勉勵,感謝我一歲兒子(子墨)給家庭帶來的無限快樂。感謝我所有的同事對此項任務的全力配合與支持。感謝我的學生對本書的期待,是你們的無形支持促成了我編寫本書。感謝生活中所有給予我幫助的朋友,是你們支持的讓我不斷第進步與創新,不管是工作中還是生活中,好朋友都是我們成功的堅實後盾。感謝電子工業出版社的編輯董英為本書的出版提供了大力的支持。
丁明一

相關詞條

熱門詞條

聯絡我們