網站平台全面換血 + 完美優化-Linux 伺服器加速營運 14 大原則

高俊峰

  • 出版商: 佳魁資訊
  • 出版日期: 2013-04-25
  • 定價: $680
  • 售價: 8.5$578
  • 語言: 繁體中文
  • 頁數: 560
  • ISBN: 9865836033
  • ISBN-13: 9789865836030
  • 相關分類: Linux

無法訂購

買這商品的人也買了...

相關主題

商品描述

<內容簡介>

從事網站底層管理或建設的工程師,心中常常會想到如FacebookYahoo!、新浪這樣的巨型商用網站,到底是用什麼技術架設起來的。除了基礎建設之外,在營運上,這些網站能承受的當機時間也比一般網站要少很多,那麼在強烈要求QoS 的同時,又必須承受巨量的存取負擔,在技術上的複雜性一定比一般簡單的架站更有難度。

了解巨型網站伺服器及平台的營運及技術,卻是電腦從業人員必須具備的基礎知識。

目前市場上關於Linux系統管理、維護和最佳化的書籍很多,但是普遍存在模式單一的現象,不是只講基礎理論和系統指令,就是偏重程式範例;或只針對實際的系統版本(Redhat Linux/Ubuntu Linux 等),缺少實作應用,很少對Linux 進行全面、深入、靈活的講解。

本書針對這種現象,從基礎入手,再進行深入研究,同時結合實際的應用案例進行由點到面、由淺入深的說明,將Linux應用的各個方面系統、深入、全面地展現給讀者。從挑選正確的網站平台,一直到設計建置及優化平台服務的組合,作者的功力在每一個敘述、程式、設定檔中一覽無遺。

理論介紹結合實際應用貫穿全書,透過真實案例讓讀者可以更深入地了解Linux應用的現實環境,進一步真正加強實作能力。這是作者多年實作工作的經驗歸納,全書貫穿了由點及線、由線及面的學習方法,不同層次的讀者都能從本書受益。

 

全書分為5篇,以Linux平台下的應用軟體為中心,有關Linux運行維護的各個方面,包含Web應用、資料備份恢復、網路儲存應用、運行維護監控與效能最佳化、叢集進階應用。其中,前四項是Linux運行維護的核心內容,是本書的基礎,最後一項是前面內容的綜合和深入,更是本書的重點,讀完本書讀者一定會有一種豁然開朗的感覺。
<章節目錄>

前言
1篇 Web應用篇
1章 輕量級HTTP伺服器Nginx
1.1
 什麼是
Nginx
1.2
 為什麼要選擇
Nginx
1.2.1
 NginxApache的異同

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
 實戰NginxPHPFastCGI)的安裝、設定與最佳化

1.7.1
 什麼是
FastCGI
1.7.2
 Nginx+FastCGI執行原理

1.7.3
 spawn-fcgi
PHP-FPM
1.7.4
 PHPPHP-FPM的安裝及最佳化

1.7.5
 設定Nginx來支援
PHP
1.7.6
 測試NginxPHP的解析功能

1.7.7
 最佳化NginxFastCGI參數的實例

1.8
 實戰NginxPerlJava的安裝與設定

1.8.1
 PerlFastCGI)的安裝

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
 VarnishSquid的比較

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實現MemcachedMySQL的自動更新

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
 設定baculaConsole

4.3.2
 設定baculaDirector

4.3.3
 設定bacula
SD
4.3.4
 設定baculaFD

4.4
 啟動與關閉
bacula
4.4.1
 啟動baculaDirector 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
 設定 ShellOracle使用者的限制

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 startstop

13.7.4
 增加刪除修改實例(srvctl addremovemodify

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
 本章小結2.3.2 設定存取權限