高性能Linux服務器構建實戰:運維監控、性能調優與集羣應用

高性能Linux服務器構建實戰:運維監控、性能調優與集羣應用

爲何要寫這本書

讀者對象

Web應用篇(1至第3章)
數據備份恢復篇(4至第6章)
網絡存儲應用篇(7和第8章)
運維監控與性能優化篇(9和第10章)
集羣高級應用篇(11至第14章)

勘誤和支持

第1篇 Web應用篇

1 輕量級HTTP服務器Nginx

1.1 什麼是Nginx
1.2 爲何要選擇Nginx
1.2.1 Nginx與Apache的異同
1.2.2 選擇Nginx的優點所在
1.3 Nginx的模塊與工做原理
1.4 Nginx的安裝與配置
1.4.1 下載與安裝Nginx
1.4.2 Nginx配置文件的結構
1.4.3 配置與調試Nginx
1.4.4 Nginx的啓動、關閉和平滑重啓
1.5 Nginx經常使用配置實例
1.5.1 虛擬主機配置實例
1.5.2 負載均衡配置實例
1.5.3 防盜鏈配置實例
1.5.4 日誌分割配置實例
1.6 Nginx性能優化技巧
1.6.1 編譯安裝過程優化
1.6.2 利用TCMalloc優化Nginx的性能
1.6.3 Nginx內核參數優化
1.7 實戰Nginx與PHP(FastCGI)的安裝、配置與優化
1.7.1 什麼是FastCGI
1.7.2 Nginx+FastCGI運行原理
1.7.3 spawn-fcgi與PHP-FPM
1.7.4 PHP與PHP-FPM的安裝及優化
1.7.5 配置Nginx來支持PHP
1.7.6 測試Nginx對PHP的解析功能
1.7.7 優化Nginx中FastCGI參數的實例
1.8 實戰Nginx與Perl、Java的安裝與配置
1.8.1 Perl(FastCGI)的安裝
1.8.2 爲Nginx添加FCGI支持
1.8.3 測試Nginx+Perl(FastCGI)
1.8.4 搭建Nginx+Java環境
1.9 本章小結

2 高性能HTTP加速器Varnish

2.1 初識Varnish
2.1.1 Varnish概述
2.1.2 Varnish的結構與特色
2.1.3 Varnish與Squid的對比
2.2 開始安裝Varnish
2.2.1 安裝前的準備
2.2.2 獲取Varnish軟件
2.2.3 安裝pcre
2.2.4 安裝Varnish
2.3 配置Varnish
2.3.1 VCL使用說明
2.3.2 配置一個簡單的Varnish實例
2.3.3 Varnish對應多臺Web服務器的配置實例
2.4 運行Varnish
2.4.1 varnishd指令
2.4.2 配置Varnish運行腳本
2.4.3 管理Varnish運行日誌
2.5 管理Varnish
2.5.1 查看Varnish進程
2.5.2 查看Varnish緩存效果與狀態
2.5.3 經過端口管理Varnish
2.5.4 管理Varnish緩存內容
2.6 Varnish優化
2.6.1 優化Linux內核參數
2.6.2 優化系統資源
2.6.3 優化Varnish參數
2.7 Varnish的常見應用實例
2.7.1 利用Varnish實現圖片防盜鏈
2.7.2 利用Varnish實現靜態文件壓縮處理
2.8 本章小結

3 Memcached應用實戰

3.1 Memcached基礎
3.1.1 什麼是Memcached
3.1.2 Memcached的特徵
3.1.3 Memcached的安裝
3.1.4 Memcached的簡單使用過程
3.2 剖析Memcached的工做原理
3.2.1 Memcached的工做過程
3.2.2 Slab Allocation的工做機制
3.2.3 Memcached的刪除機制
3.2.4 Memcached的分佈式算法
3.3 Memcached的管理與性能監控
3.3.1 如何管理Memcached
3.3.2 Memcached的監控
3.3.3 Memcached變種產品介紹
3.4 經過UDFs實現Memcached與MySQL的自動更新
3.4.1 UDFs使用簡介
3.4.2 memcached_functions_mysql應用實例
3.4.3 對memcached_functions_mysql的簡單功能進行測試
3.4.4 使用memcached_functions_mysql的經驗與技巧
3.5 本章小結

第2篇 數據備份恢復篇

4 開源網絡備份軟件bacula

4.1 bacula整體概述
4.1.1 bacula是什麼
4.1.2 bacula適合哪些用戶
4.1.3 bacula的功能特色
4.1.4 bacula的工做原理
4.2 安裝bacula
4.2.1 bacula的幾種網絡備份拓撲
4.2.2 編譯與安裝bacula
4.2.3 初始化MySQL數據庫
4.3 配置一個bacula備份系統
4.3.1 配置bacula的Console端
4.3.2 配置bacula的Director端
4.3.3 配置bacula的SD
4.3.4 配置bacula的FD端
4.4 啓動與關閉bacula
4.4.1 啓動bacula的Director daemon與Storage daemon
4.4.2 在客戶端FD啓動File daemon
4.5 實戰bacula備份恢復過程
4.5.1 實例演示bacula的徹底備份功能
4.5.2 實例演示bacula的增量備份功能
4.5.3 實例演示bacula的差別備份功能
4.5.4 實例演示bacula的徹底恢復功能
4.5.5 實例演示bacula的不徹底恢復功能
4.6 本章小結

5 數據鏡像備份工具rsync與unison

5.1 rsync簡介
5.1.1 什麼是rsync
5.1.2 rsync的功能特性
5.1.3 下載與安裝rsync軟件
5.2 利用rsync搭建數據鏡像備份系統
5.2.1 rsync的應用模式
5.2.2 企業案例:搭建遠程容災備份系統
5.3 經過rsync+inotify實現數據的實時備份
5.3.1 rsync的優勢與不足
5.3.2 初識inotify
5.3.3 安裝inotify工具inotify-tools
5.3.4 inotify相關參數
5.3.5 inotifywait相關參數
5.3.6 企業應用案例:利用rsync+inotify搭建實時同步系統
5.4 unison簡介
5.5 安裝unison
5.6 配置雙機ssh信任
5.6.1 在兩臺機器上建立RSA密鑰
5.6.2 添加密鑰到受權密鑰文件中
5.7 unison的使用
5.7.1 本地使用unison
5.7.2 遠程使用unison
5.7.3 unison參數說明
5.7.4 經過配置文件來使用unison
5.8 本章小結

6 ext3文件系統反刪除利器ext3grep

6.1 「rm-rf」帶來的困惑
6.2 ext3grep的安裝與使用
6.2.1 ext3grep的恢復原理
6.2.2 ext3grep的安裝過程
6.3 經過ext3grep恢復誤刪除的文件與目錄
6.3.1 數據恢復準則
6.3.2 實戰ext3grep恢復文件
6.4 經過ext3grep恢復誤刪除的MySQL表
6.4.1 MySQL存儲引擎介紹
6.4.2 模擬MySQL表被誤刪除的環境
6.4.3 經過ext3grep分析數據、恢復數據
6.5 本章小結

第3篇 網絡存儲應用篇

7 IP網絡存儲iSCSI

7.1 存儲的概念與術語
7.1.1 SCSI介紹
7.1.2 FC介紹
7.1.3 DAS介紹
7.1.4 NAS介紹
7.1.5 SAN介紹
7.2 iSCSI的概念
7.3 FC SAN與IP SAN
7.4 iSCSI的組成
7.4.1 iSCSI Initiator
7.4.2 iSCSI Target
7.5 iSCSI的工做原理
7.6 搭建基於IP SAN的iSCSI存儲系統
7.6.1 安裝iSCSI Target軟件
7.6.2 配置一個簡單的iSCSI Target
7.6.3 在Windows上配置iSCSI Initiator
7.6.4 在Linux上配置iSCSI Initiator
7.7 iSCSI在安全方面的相關設定
7.7.1 Initiator主機以IP認證方式獲取iSCSI Target資源
7.7.2 Initiator主機以密碼認證方式獲取iSCSI Target資源
7.8 iSCSI性能優化方案
7.8.1 iSCSI性能瓶頸
7.8.2 iSCSI性能優化
7.9 本章小結

8 分佈式存儲系統MFS

8.1 MFS概論
8.2 MFS文件系統
8.2.1 MFS文件系統結構
8.2.2 MFS的編譯與安裝實例
8.3 編譯與使用MFS的經驗總結
8.3.1 安裝選項說明
8.3.2 管理服務器
8.3.3 元數據日誌服務器
8.3.4 數據存儲服務器
8.3.5 客戶端掛載
8.4 管理與使用MFS
8.4.1 在客戶端掛載文件系統
8.4.2 MFS經常使用操做
8.4.3 爲垃圾箱設定隔離時間
8.4.4 快照
8.4.5 MFS的其餘命令
8.5 維護MFS
8.5.1 啓動MFS集羣
8.5.2 中止MFS集羣
8.5.3 MFS數據存儲服務器的維護
8.5.4 MFS元數據的備份
8.5.5 MFS管理服務器的恢復
8.5.6 從備份恢復MFS管理服務器
8.6 經過冗餘實現失敗防禦的解決方案
8.7 本章小結

第4篇 運維監控與性能優化篇

9 運維監控利器Nagios

9.1 Nagios綜述
9.1.1 什麼是Nagios
9.1.2 Nagios的結構與特色
9.2 Nagios的安裝與配置
9.2.1 安裝Nagios
9.2.2 配置Nagios
9.3 Nagios的運行和維護
9.3.1 驗證Nagios配置文件的正確性
9.3.2 啓動與中止Nagios
9.3.3 Nagios故障報警
9.4 Nagios性能分析圖表的實現
9.4.1 Nagios性能分析圖表的做用
9.4.2 PNP的概念與安裝環境
9.4.3 安裝PNP
9.4.4 配置PNP
9.4.5 修改Nagios配置文件
9.4.6 測試PNP功能
9.5 利用插件擴展Nagios的監控功能
9.5.1 利用NRPE外部構件監控遠程主機
9.5.2 利用飛信實現Nagios短信報警功能
9.6 本章小結

10 基於Linux服務器的性能分析與優化

10.1 系統性能分析的目的
10.1.1 找到系統性能的瓶頸
10.1.2 提供性能優化方案
10.1.3 使系統硬件和軟件資源的使用達到平衡
10.2 分析系統性能涉及的人員
10.2.1 Linux系統管理人員
10.2.2 系統架構設計人員
10.2.3 軟件開發人員
10.3 影響Linux性能的各類因素
10.3.1 系統硬件資源
10.3.2 操做系統相關資源
10.3.3 應用程序軟件資源
10.4 系統性能分析標準和優化原則
10.5 幾種典型應用對系統資源使用的特色
10.5.1 以靜態內容爲主的Web應用
10.5.2 以動態內容爲主的Web應用
10.5.3 數據庫應用
10.5.4 軟件下載應用
10.5.5 流媒體服務應用
10.6 Linux下常見的性能分析工具
10.6.1 vmstat命令
10.6.2 sar命令
10.6.3 iostat命令
10.6.4 free命令
10.6.5 uptime命令
10.6.6 netstat命令
10.6.7 top命令
10.7 基於Web應用的性能分析及優化案例
10.7.1 基於動態內容爲主的網站優化案例
10.7.2 基於動態、靜態內容結合的網站優化案例
10.8 本章小結

第5篇 集羣高級應用篇

11 構建高可用的LVS負載均衡集羣

11.1 LVS集羣的組成與特色
11.1.1 LVS集羣的組成
11.1.2 LVS集羣的特色
11.1.3 LVS集羣系統的優缺點
11.2 高可用LVS負載均衡集羣體系結構
11.3 高可用性軟件Heartbeat與Keepalived
11.3.1 開源HA軟件Heartbeat的介紹
11.3.2 安裝heartbeat
11.3.3 開源HA軟件Keepalived的介紹
11.3.4 安裝Keepalived
11.4 安裝LVS軟件
11.4.1 配置與檢查安裝環境
11.4.2 在Director Server上安裝IPVS管理軟件
11.5 搭建高可用LVS集羣
11.5.1 經過heartbeat搭建LVS高可用性集羣
11.5.2 經過Keepalived搭建LVS高可用性集羣系統
11.5.3 經過piranha搭建LVS高可用性集羣
11.6 測試高可用LVS負載均衡集羣系統
11.6.1 高可用性功能測試
11.6.2 負載均衡測試
11.6.3 故障切換測試
11.7 本章小結

12 RHCS集羣

12.1 RHCS集羣概述
12.2 RHCS集羣的組成與結構
12.2.1 RHCS集羣的組成
12.2.2 RHCS集羣結構
12.3 RHCS集羣的運行原理及功能
12.3.1 分佈式集羣管理器(CMAN)
12.3.2 鎖管理(DLM)
12.3.3 配置文件管理(CCS)
12.3.4 柵設備(Fence)
12.3.5 高可用性服務管理器
12.3.6 集羣配置和管理工具
12.3.7 Redhat GFS
12.4 安裝RHCS
12.4.1 安裝前準備工做
12.4.2 配置共享存儲和RHCS管理端Luci
12.4.3 在集羣節點上安裝RHCS軟件包
12.4.4 在集羣節點上安裝和配置iSCSI客戶端
12.5 配置RHCS高可用集羣
12.5.1 建立一個cluster
12.5.2 建立Failover Domain
12.5.3 建立Resources
12.5.4 建立Service
12.5.5 配置存儲集羣GFS
12.5.6 配置表決磁盤
12.5.7 配置Fence設備
12.6 管理和維護RHCS集羣
12.6.1 啓動RHCS集羣
12.6.2 關閉RHCS集羣
12.6.3 管理應用服務
12.6.4 監控RHCS集羣狀態
12.6.5 管理和維護GFS2文件系統
12.7 RHCS集羣功能測試
12.7.1 高可用集羣測試
12.7.2 存儲集羣測試
12.8 本章小結

13 Oracle RAC集羣

13.1 Oracle集羣體系結構
13.2 Oracle ClusterWare體系結構與進程介紹
13.2.1 Oracle ClusterWare簡介
13.2.2 Oracle ClusterWare進程介紹
13.3 RAC數據庫體系結構與進程
13.3.1 RAC簡介
13.3.2 Oracle RAC的特色
13.3.3 RAC進程管理
13.3.4 RAC數據庫存儲規劃
13.4 安裝Oracle RAC數據庫
13.4.1 安裝前的系統配置需求
13.4.2 設置數據庫安裝資源
13.4.3 配置主機解析文件
13.4.4 檢查所需軟件包
13.4.5 配置系統內核參數
13.4.6 設置Shell對Oracle用戶的限制
13.4.7 配置hangcheck-timer內核模塊
13.4.8 配置系統安全設置
13.4.9 建立Oracle用戶和組
13.4.10 設置Oracle用戶環境變量
13.4.11 配置節點間SSH信任
13.4.12 配置共享存儲系統
13.4.13 安裝Oracle Clusterware
13.4.14 安裝Oracle數據庫
13.4.15 配置Oracle Net
13.4.16 建立RAC數據庫
13.5 Oracle CRS的管理與維護
13.5.1 查看集羣狀態
13.5.2 啓動與關閉集羣服務資源
13.5.3 啓動與關閉CRS
13.5.4 管理voting disk
13.5.5 管理OCR
13.5.6 快速卸載CRS
13.6 ASM基本操做維護
13.6.1 ASM的特色
13.6.2 ASM的體系結構與後臺進程
13.6.3 管理ASM實例
13.7 利用srvctl管理RAC數據庫
13.7.1 查看實例狀態(srvctl status)
13.7.2 查看RAC數據庫配置信息(srvctl config)
13.7.3 啓動/關閉實例(srvctl start/stop)
13.7.4 增長/刪除/修改實例(srvctl add/remove/modify)
13.8 測試RAC數據庫集羣的功能
13.8.1 負載均衡測試
13.8.2 透明應用失敗切換測試
13.9 本章小結

14 構建MySQL+heartbeat+DRBD+LVS集羣應用系統

14.1 MySQL高可用集羣概述
14.2 heartbeat+DRBD高可用性方案的實現原理
14.3 部署MySQL高可用高擴展集羣
14.3.1 配置以前的準備
14.3.2 DRBD的部署
14.3.3 DRBD的配置
14.3.4 DRBD的維護和管理
14.3.5 DRBD的性能優化
14.3.6 MySQL的部署
14.3.7 heartbeat的部署
14.4 搭建Slave集羣
14.4.1 爲何要搭建Slave集羣
14.4.2 利用LVS+Keepalived搭建高可用MySQL Slave集羣
14.4.3 高可用Slave集羣的一些注意點
14.5 部署MySQL集羣要考慮的問題
14.6 本章小結

思惟導圖

高性能Linux服務器構建實戰:運維監控、性能調優與集羣應用

防止博客圖牀圖片失效,防止圖片源站外鏈:php

http://www.processon.com/chart_image/5e5b3159e4b02bc3ad6a1558.png)java

思惟導圖在線編輯連接:mysql

https://www.processon.com/view/5e5b3159e4b02bc3ad6a1555linux

相關文章
相關標籤/搜索