老男孩 Linux云計算運維 就業班正在火熱招生,坐席有限,【立即搶占報名名額】
內容簡介:
本書針對中小規模網站集群的搭建、部署、優化進行了詳細講解,全書可分為三大部分,其中第一部分講的是Linux相關的基礎且重要的知識,第二部分針對當下流行的Web環境架構(LNMP)的搭建及企業級Web優化等進行了講解,第三部分講的是Web集群后端的數據存儲和Web集群前端的負載均衡高可用。如果你是一名經驗豐富的資深Linux用戶,可以直接閱讀第二部分內容。但如果你是一名Linux初學者,請一定從第1章的基礎知識開始學習。
第一部分為基礎篇(第1~4章),簡單地介紹了Linux的歷史沿革、Linux的企業級選型、學習環境的搭建、Linux的企業級系統安裝、Linux系統的基礎優化,以及遠程連接Linux及客戶端SSH的設置等,最后比較深入地講解了HTTP協議和www服務相關知識,為讀者搭建企業級Web集群環境做好了準備。
第二部分為Web服務篇(第5~8章),著重講解了Linux、Nginx、MySQL、PHP(LNMP)等當下流行的Web環境架構的搭建、開源blog網站產品的安裝部署、Web優化等知識。為讀者搭建企業級完整的網站Web集群架構做好了準備。
第三部分為集群篇(第9~15章),著重講解了Web集群后端的MySQL數據庫、Web集群共享存儲NFS、Nginx反向代理負載均衡、Keepalived高可用、Memcached緩存及session共享、Nagios企業級監控等技術實戰,最后為讀者規劃了一個中等規模的網站集群架構解決方案。
老男孩的運維思想
決定戰爭勝負的不是戰斗的瞬間,而是決戰前的各種準備。準備工作做得越充分,取勝的幾率就越大!映射到Linux運維就是要多未雨綢繆,多提前去思考、規劃和準備,不要一上來就部署服務,遇到問題了再到處去找資料;更不要等出了故障才急急忙忙救火,而是要在故障發生前,就去排查潛在的問題隱患,盡可能做到提前預防!
IT運維及架構師要有捕捉知識的能力、發現問題的能力,然后用捕捉到的專業知識或方案來解決發現的各種問題。
技術細節學不完,掌握解決問題的思路和思想才是關鍵,技術能力的提升只是量的積累,思想的提升才是質的飛躍!
輸入是被動學習的過程,知識的留存率很低(低于30%);輸出是主動學習的過程,知識的留存率很高(可達90%以上),想忘都難。作為運維人員,多去解決實際問題,并把思路講出來,會讓你成長得更快。即使后面遇到技術難題,也能很快找到解決思路。
作者簡介:
老男孩,北京老男孩IT教育創始人,擁有十多年一線大規模網站集群運維架構實戰經驗及教學培訓經驗,曾主導了從幾臺到上千臺規模集群運維架構的擴展,運維架構實戰知識體系全面,擅長大規模集群架構部署調優、虛擬化、云計算、大數據、MySQL數據庫等技術,是IT界資深的Linux集群架構實戰專家。
老男孩也是國內NLP心理學運維思想體系創始人,將心理學運維思想大量應用于教學培訓實踐,取得了顯著效果,所教學生平均就業工資及后期發展速度連續多年在國內Linux同行業中處于領先地位。
授課注重理論結合企業真實場景,認真負責,思維嚴謹,重視對學生的運維思想、規范、習慣、總結、表達溝通等能力的培養,累計受益人員數萬!
書籍目錄:
前 言
第1章 Linux系統介紹與環境搭建準備 / 1
1.1 Linux簡介 / 1
1.1.1 什么是操作系統 / 1
1.1.2 什么是Linux / 2
1.2 Linux的起源 / 3
1.2.1 UNIX的歷史 / 3
1.2.2 UNIX的5大優秀特性 / 4
1.2.3 UNIX操作系統的革命 / 4
1.2.4 Linux的誕生 / 5
1.2.5 Linux的發展歷程 / 5
1.3 Linux核心概念知識 / 6
1.3.1 自由軟件與FSF / 6
1.3.2 GNU知識 / 7
1.3.3 GPL知識 / 8
1.3.4 Linux系統組成 / 8
1.4 Linux的特點 / 8
1.4.1 Linux為什么受歡迎 / 8
1.4.2 Linux更多特點介紹 / 9
1.5 Linux的應用領域 / 9
1.5.1 IT服務器Linux系統應用領域 / 9
1.5.2 嵌入式Linux系統應用領域 / 10
1.5.3 個人桌面Linux應用領域 / 11
1.5.4 本書講解的Linux領域說明 / 11
1.6 如何選擇Linux的發行版 / 11
1.6.1 Linux的發行版本介紹 / 11
1.6.2 選擇適合的Linux系統學習 / 12
1.7 搭建學習Linux的運維環境 / 14
1.7.1 虛擬機軟件介紹 / 14
1.7.2 通過虛擬機軟件學習Linux運維 / 15
1.7.3 選擇適合自己的虛擬機軟件 / 16
1.7.4 安裝與使用VMware虛擬機軟件 / 17
1.7.5 創建一個虛擬機的實踐 / 17
1.8 本章重點回顧 / 26
1.9 本章知識相關考試題 / 27
1.10 本章參考資料 / 27
第2章 企業級CentOS 6.6操作系統安裝 / 28
2.1 下載CentOS系統ISO鏡像 / 28
2.1.1 下載CentOS系統ISO鏡像的說明 / 28
2.1.2 下載后有關ISO鏡像的使用說明 / 29
2.1.3 為什么企業環境要選擇64位操作系統 / 30
2.1.4 如何區分已安裝的系統是32位還是64位 / 31
2.1.5 在學習與工作中如何選擇操作系統 / 31
2.2 CentOS 6.6操作系統安裝準備 / 32
2.2.1 單臺物理服務器安裝系統準備 / 32
2.2.2 虛擬機學習安裝系統準備 / 32
2.3 開始安裝CentOS 6.6操作系統 / 33
2.3.1 安裝CentOS 6.6操作系統的過程 / 33
2.3.2 磁盤分區類型選擇與磁盤分區配置過程 / 39
2.3.3 CentOS 6.6系統安裝包組的選擇與配置過程 / 47
2.4 系統安裝后的基本配置 / 50
2.4.1 重啟系統過程中的引導過程介紹 / 50
2.4.2 登錄系統 / 51
2.4.3 配置網卡和設置網絡聯網 / 52
2.4.4 更新系統,打補丁到最新 / 58
2.4.5 額外安裝一些有用的軟件包 / 59
2.5 本章重點回顧 / 59
2.6 本章知識相關考試題 / 60
第3章 CentOS 6.6連接管理及優化 / 61
3.1 遠程連接Linux系統管理 / 61
3.1.1 為什么要遠程連接Linux系統 / 61
3.1.2 遠程連接Linux的原理 / 61
3.1.3 遠程連接Linux的客戶端工具介紹 / 65
3.1.4 如何選擇遠程連接Linux的工具 / 65
3.2 SSH客戶端常用工具SecureCRT / 66
3.2.1 SecureCRT工具介紹 / 66
3.2.2 SecureCRT工具安裝說明 / 66
3.2.3 配置SecureCRT連接Linux主機 / 66
3.2.4 通過SSH工具連接Linux主機的常見問題 / 67
3.2.5 調整SecureCRT終端顯示和回滾緩沖區大小 / 69
3.2.6 調整字體及光標顏色 / 70
3.2.7 配置記錄SSH操作的日志及輸出 / 70
3.2.8 配置本地機器上傳和下載的目錄 / 71
3.2.9 實現批量部署和管理功能 / 73
3.2.10 配置SecureCRT標簽路徑 / 75
3.2.11 配置標簽模板 / 75
3.2.12 調整命令行顏色方案(目錄和注釋) / 76
3.3 Linux系統應用管理 / 77
3.3.1 添加普通用戶賬號 / 77
3.3.2 基本的Linux命令操作示例 / 79
3.4 安裝Linux系統后調優及安全設置 / 83
3.4.1 關閉SELinux功能 / 83
3.4.2 設定運行級別為3(文本模式) / 84
3.4.3 精簡開機系統自啟動 / 84
3.4.4 關閉iptables防火墻 / 88
3.4.5 Linux系統安全最小原則說明 / 88
3.4.6 更改SSH服務器端遠程登錄的配置 / 89
3.4.7 利用sudo控制用戶對系統命令的使用權限 / 91
3.4.8 Linux中文顯示設置 / 95
3.4.9 設置Linux服務器時間同步 / 96
3.4.10 歷史記錄數及登錄超時環境變量設置 / 98
3.4.11 調整Linux系統文件描述符數量 / 99
3.4.12 Linux服務器內核參數優化 / 100
3.4.13 定時清理郵件服務臨時目錄垃圾文件 / 103
3.4.14 隱藏Linux版本信息顯示 / 104
3.4.15 鎖定關鍵系統文件,防止被提權篡改 / 104
3.4.16 清除多余的系統虛擬賬號 / 105
3.4.17 為grub菜單加密碼 / 105
3.4.18 禁止Linux系統被ping / 106
3.4.19 升級具有典型漏洞的軟件版本 / 107
3.5 Linux基礎優化與安全重點小結 / 107
3.6 有關VMware虛擬機的使用問題 / 108
3.7 本章重點回顧 / 109
3.8 本章知識相關考試題 / 109
第4章 Web服務基礎 / 110
4.1 HTTP服務的重要基礎 / 110
4.2 HTTP協議 / 115
4.3 HTTP資源 / 123
4.4 網站流量度量術語 / 129
4.5 WWW服務軟件介紹 / 135
4.6 本章重點回顧 / 138
4.7 本章知識相關面試考試題 / 138
4.8 本章參考資料 / 139
第5章 Nginx Web服務應用 / 140
5.1 Nginx介紹 / 140
5.2 Nginx Web服務 / 144
5.3 編譯安裝Nginx / 147
5.4 Nginx技術的深入剖析 / 156
5.5 Nginx虛擬主機配置實戰 / 162
5.6 Nginx常用功能配置實戰 / 174
5.7 Nginx訪問日志(access_log) / 184
5.8 Nginx location / 190
5.9 Nginx rewrite / 194
5.10 Nginx訪問認證 / 198
5.11 Nginx相關問題的解答 / 201
5.12 本章重點回顧 / 204
第6章 企業級LNMP環境應用實踐 / 205
6.1 LNMP應用環境 / 205
6.2 LNMP之MySQL數據庫 / 206
6.3 FastCGI介紹 / 217
6.4 LNMP之PHP(FastCGI方式)服務的安裝準備 / 218
6.5 開始安裝PHP(FastCGI方式)服務 / 222
6.6 配置Nginx支持PHP程序請求訪問 / 227
6.7 部署一個blog程序服務 / 230
6.8 有關使用高版本PHP 5.5的說明 / 240
6.9 本章重點回顧 / 241
6.10 本章參考資料 / 241
第7章 PHP服務緩存加速優化實戰 / 242
7.1 PHP緩存加速器介紹與環境準備 / 242
7.2 安裝PHP緩存加速器擴展 / 247
7.3 安裝數據庫緩存及其他PHP擴展插件 / 252
7.4 安裝其他的PHP擴展插件模塊 / 256
7.5 配置PHP加速與緩存相關的擴展插件模塊 / 261
7.6 生產環境PHP擴展插件的安裝建議 / 278
7.7 補充知識 / 279
7.8 PHP緩存加速壓力測試練習 / 280
7.9 本章參考資料 / 281
第8章 企業級Nginx Web服務優化實戰 / 282
8.1 Nginx基本安全優化 / 282
8.2 根據參數優化Nginx服務性能 / 288
8.3 Nginx日志相關優化與安全 / 311
8.4 Nginx站點目錄及文件URL訪問控制 / 313
8.5 Nginx圖片及目錄防盜鏈解決方案 / 317
8.6 Nginx錯誤頁面的優雅顯示 / 324
8.7 Nginx站點目錄文件及目錄權限優化 / 327
8.8 Nginx防爬蟲優化 / 329
8.9 利用Nginx限制HTTP的請求方法 / 331
8.10 使用CDN做網站內容加速 / 331
8.11 Nginx程序架構優化 / 333
8.12 使用普通用戶啟動Nginx(監牢模式) / 334
8.13 控制Nginx并發連接數量 / 338
8.14 控制客戶端請求Nginx的速率 / 342
8.15 本章重點回顧 / 344
第9章 MySQL數據庫企業級應用實踐 / 345
9.1 概述 / 345
9.2 MySQL多實例介紹 / 346
9.3 MySQL多實例的生產應用場景 / 347
9.4 MySQL多實例常見的配置方案 / 348
9.5 安裝并配置多實例MySQL數據庫 / 350
9.6 配置及管理MySQL多實例數據庫 / 363
9.7 MySQL主從復制介紹 / 367
9.8 MySQL主從復制實踐 / 373
9.9 MySQL主從復制更多應用技巧實踐 / 389
9.10 本章重點回顧 / 395
9.11 本章參考資料 / 395
第10章 企業級NFS網絡文件共享服務 / 396
10.1 NFS介紹 / 396
10.2 NFS系統原理介紹 / 399
10.3 NFS服務器端部署環境準備 / 403
10.4 NFS服務器端的設置 / 404
10.5 實戰配置NFS服務器端 / 410
10.6 NFS配置參數權限 / 411
10.7 NFS服務企業案例配置實踐 / 413
10.8 NFS服務的重點知識梳理 / 417
10.9 NFS客戶端掛載命令 / 418
10.10 生產環境高級案例配置實戰 / 422
10.11 NFS客戶端掛載深入 / 424
10.12 NFS系統應用的優缺點說明 / 429
10.13 本章涉及的相關知識 / 430
10.14 本章重點回顧 / 435
10.15 本章參考資料 / 435
第11章 Nginx反向代理與負載均衡應用實踐 / 436
11.1 集群簡介 / 436
11.2 為什么要使用集群 / 436
11.3 集群的分類 / 439
11.4 常用的集群軟硬件介紹及選型 / 441
11.5 Nginx負載均衡集群介紹 / 442
11.6 快速實踐Nginx負載均衡環境準備 / 443
11.7 Nginx負載均衡核心組件介紹 / 449
11.8 Nginx負載均衡配置實戰 / 456
11.9 Nginx負載均衡監測節點狀態 / 475
11.10 proxy_next_upstream參數補充 / 478
11.11 本章重點回顧 / 478
第12章 Keepalived高可用集群應用實踐 / 479
12.1 Keepalived高可用軟件 / 479
12.2 Keepalived高可用服務搭建準備 / 482
12.3 Keepalived高可用服務單實例實戰 / 486
12.4 Keepalived高可用服務器的“裂腦”問題 / 491
12.5 Keepalived雙實例雙主模式配置 / 492
12.6 Nginx負載均衡配合Keepalived服務案例實戰 / 498
12.7 解決服務監聽的網卡上不存在IP地址問題 / 502
12.8 解決高可用服務只針對物理服務器的問題 / 502
12.9 解決多組Keepalived服務器在一個局域網的沖突問題 / 505
12.10 配置指定文件接收Keepalived服務日志 / 505
12.11 開發監測Keepalived裂腦的腳本 / 507
12.12 本章重點回顧 / 508
第13章 企業級Memcached服務應用實踐 / 509
13.1 Memcached介紹 / 509
13.2 Memcached的用途與應用場景 / 511
13.3 Memcached的特點與工作機制 / 514
13.4 Memcached內存管理 / 517
13.5 Memcached服務安裝 / 521
13.6 Memcached服務的基本管理 / 522
13.7 安裝Memcached客戶端 / 527
13.8 Memcached應用管理 / 530
13.9 Memcached服務應用的優化 / 538
13.10 Memcached在集群中session共享案例 / 546
13.11 Memcached兼容持久化工具介紹 / 547
13.12 本章重點回顧 / 549
第14章 企業級監控Nagios實踐 / 550
14.1 Nagios監控簡介 / 550
14.2 Nagios監控工具及原理介紹 / 551
14.3 Nagios服務器端安裝 / 555
14.4 Nagios客戶端安裝 / 571
14.5 Nagios服務器端監控 / 578
14.6 服務器端Nagios圖形監控顯示和管理 / 604
14.7 實現將Nagios故障報警給管理員 / 616
14.8 Nagios插件開發 / 622
14.9 常見故障問題總結 / 631
14.10 本章重點回顧 / 631
第15章 企業級網站集群搭建綜合解決方案 / 632
15.1 企業級中小規模網站集群項目規劃 / 632
15.2 集群服務搭建詳細規劃設計說明 / 641
15.3 中小規模網站集群架構綜合說明 / 662
15.3.1 概述 / 662
15.3.2 運維人員的兩大核心工作主題 / 664
書籍前言:
為什么要寫這本書
不知不覺接觸Linux(之前用的是Solaris)已經有16個年頭了,在這16年的運維職業生涯中,我走了相當多的彎路,特別是頭兩年,相當迷茫、彷徨,最要命的是無論怎么努力學習和堅持,就是感覺自己沒有入門。那時,優秀的學習書籍寥寥無幾,工作中也無人指導,更沒有規范的培訓機構,一遇到服務器故障就會無所適從,無數次都是在痛苦的掙扎中度過的,也有無數次想要放棄學習Linux。
后來我慢慢地積累了一些經驗,有了自己的運維心得。在我的運維技術有了質的飛躍之后,我開始醞釀一套Linux培訓體系課程,最初的目的就是希望大家不要重走我走過的彎路,因為這條路充滿了荊棘,一不小心就可能走不出來了。
經過一段時間的醞釀,我將自己的想法寫成一份項目策劃書,發給了公司領導,希望公司能夠開展IT培訓相關的業務,而我可以負責這塊業務。領導首肯了我的策劃書,但是在接下來的日子沒有任何行動,可能是覺得時機不夠成熟吧。
但是我的心卻被策劃書給拽走了,于是開始了我的兼職IT培訓生涯,這就是“老男孩IT教育”的前身。在多年的培訓過程中我發現,很多小伙伴因為條件的限制無法到北京現場學習,雖然我們也錄制了大量網絡視頻,但還是有網友非常希望老男孩能夠把講課的內容整理成書,以便深入學習??吹叫』锇閭儫崆械钠谂?,我心動了,于是開始計劃把講課的內容整理成書,讓全國的小伙伴都能夠從中受益。
但是由于培訓講課的排期很緊,課程很多,平時還要在企業里工作,而且寫書和講課也是不同的路數,因此寫書計劃被一次次地擱淺,直至遇到了她——機械工業出版社華章公司的Lisa,正是因為她的執著、包容、鼓勵,使得我有足夠的信心和動力完成此書,并且即將策劃與Linux運維實戰相關的更多圖書,這些書后續會一一與大家見面。
目前,全球進入了“互聯網+”時代,越來越多的傳統企業都在考慮通過網絡提供產品和服務,包括互聯網+教育、互聯網+金融、互聯網電商、互聯網+出租車、互聯網+保險等。而互聯網的背后就是Linux技術的時代(包括移動互聯網在內),掌握Linux運維技術已經成為每一個IT技術人員的必經之路,本書的中小規模網站集群架構實戰就是構建在Linux系統上的高性能、高并發企業級網站集群架構上的解決方案!
讀者對象
Linux系統管理員和運維工程師
互聯網網站開發及數據庫管理人員
網絡管理員和項目實施工程師
Linux相關售前售后技術工程師
開設Linux相關課程的大中專院校
對Linux感興趣的人群
如何閱讀本書
本書針對中小規模網站集群的搭建、部署、優化進行了詳細講解,全書可分為三大部分,其中第一部分介紹與Linux相關的基礎且重要的知識,第二部分針對當下流行的Web環境架構(LNMP)的搭建及企業級Web優化等進行了講解,第三部分介紹Web集群后端的數據存儲及Web集群前端的負載均衡和高可用。如果你是一名經驗豐富的資深Linux用戶,可以直接閱讀第二部分內容;如果你是一名Linux初學者,請務必從第1章的基礎知識開始學習。
第一部分為基礎篇(第1~4章),簡單地介紹了Linux的歷史沿革、Linux的企業級選型、學習環境的搭建、Linux的企業級系統安裝、Linux系統的基礎優化,以及遠程連接Linux及客戶端SSH的設置等,最后比較深入地講解了HTTP協議和WWW服務相關知識,為讀者搭建企業級Web集群環境做好了準備。
第二部分為Web服務篇(第5~8章),著重講解了Linux、Nginx、MySQL、PHP(LNMP)等當下流行的Web環境架構的搭建、開源blog網站產品的安裝部署、Web優化等知識。為讀者搭建企業級完整的網站Web集群架構做好了準備。
第三部分為集群篇(第9~15章),著重講解了Web集群后端的MySQL數據庫、Web集群共享存儲NFS、Nginx反向代理負載均衡、Keepalived高可用、Memcached緩存及session共享、Nagios企業級監控等技術實戰,最后為讀者規劃了一個中等規模的網站集群架構解決方案。
勘誤和支持
由于作者的水平有限,加之編寫的時間倉促,書中難免會出現一些錯誤或者不準確的地方,不妥之處在所難免,懇請讀者批評指正。你可以將書中的錯誤發布到我專門為本書準備的博客地址處:http://oldboy.blog.51cto.com/2561410/1713128,或者在我的微博(http://weibo.com/oldboy8)上留言。同時如果你遇到任何問題,可以加入我為本書提供的兩個QQ交流群(339128815和226199808),我將盡量為讀者提供最滿意的解答。書中所需的各種工具及程序文件也都將發布在上述QQ群及我的博客網站上,我也會將本書的勘誤等及時更新。如果你有更多的寶貴意見,也歡迎你發送郵件至我的郵箱(oldboy@oldboyedu.com),我很期待能夠聽到你們的真摯反饋。
致謝
首先要感謝偉大的Linux系統開發者Linus Torvalds,是他開創了一款影響我一生的軟件。
感謝李泳誼、王洪志,感謝你們在百忙之中為本書供圖!
感謝王碩導師及每一個運維課程班級的班長及班干部,感謝你們替我分擔老男孩IT教育眾多學員的批改作業、答疑、就業指導和管理工作。
感謝老男孩IT教育的每一位學員——是你們的長期支持使得老男孩IT教育的業績蒸蒸日上,讓我有較多時間持續寫作。感謝你們對老男孩IT教育的支持。
感謝我的同事Python自動化開發課程的Alex(李杰)老師和武老師,高級架構師課程的趙班長老師,高薪運維就業課程的張耀助教老師,課程顧問歪歪老師、小雨老師、飛雪老師、環宇老師及其他未提及名字的老師,正是你們辛勤努力的工作,使得我有時間完成此書。
感謝中網志騰的郭威和實利通和的王斐和梁露,感謝你們提供給我的多臺DELL物理服務器,使得本書得以高效順利地完成!
感謝森華易騰的陸錦云女士及其同事,感謝你們提供IDC機房帶寬資源并長期支持,使得本書得以順利完成!
感謝機械工業出版社華章公司的編輯Lisa,感謝你的執著支持、包容和鼓勵,在近一年的時間中始終支持我的寫作,是你的鼓勵和幫助引導我能順利完成全部書稿。
最后要感謝我的父母、家人,感謝你們將我培養成人,并時時刻刻為我灌輸著信心和力量!
謹以此書,獻給支持老男孩IT教育的每一位朋友、學員,以及眾多熱愛Linux運維技術的朋友。
老男孩