推薦序一
推薦序二
前言
第1章 係統架構設計的構建基礎1
1.1 網站架構設計相關術語1
1.1.1 什麼是HTTP 1.11
1.1.2 什麼是Web 2.02
1.1.3 軟件開發C/S結構與B/S結構的區彆3
1.1.4 評估網站性能的專業術語5
1.2 IDC機房的選擇及CDN的選型6
1.3 如何根據服務器應用選購服務器7
1.4 CentOS 6.4 x86_64最小化安裝後的優化13
1.4.1 係統的基礎優化13
1.4.2 優化Linux下的內核TCP參數以提高係統性能19
1.4.3 CentOS 6.4 x86_64係統最小化優化腳本22
1.4.4 Linux下CPU使用率與機器負載的關係與區彆23
1.5 MySQL數據庫的優化25
1.5.1 服務器物理硬件的優化25
1.5.2 利用tuning-primer腳本來調優MySQL數據庫25
1.6 小結28
第2章 生産環境下的Shell和Python腳本29
2.1 Shell和Python語言的簡單介紹29
2.2 Shell編程基礎30
2.2.1 Shell腳本的基本元素30
2.2.2 Shell特殊字符31
2.2.3 變量和運算符31
2.3 Shell中的控製流結構42
2.4 sed的基礎用法及實用示例45
2.4.1 sed的基礎語法格式46
2.4.2 sed的用法示例51
2.5 awk的基礎用法及實用示例56
2.6 生産環境下的Shell和Python腳本分類61
2.6.1 備份類腳本62
2.6.2 統計類腳本66
2.6.3 監控類腳本69
2.6.4 開發類腳本72
2.6.5 自動化類腳本78
2.7 小結80
第3章 輕量級自動化運維工具Fabric詳解81
3.1 Python語言的應用領域81
3.2 選擇Python的原因83
3.3 Python的版本說明83
3.4 增強的交互式環境IPython84
3.5 Python(x,y)介紹85
3.6 輕量級自動化運維工具Fabric介紹86
3.6.1 Fabric的安裝87
3.6.2 命令行入口fab命令詳解88
3.6.3 Fabric的核心API88
3.7 Fabric應用實例92
3.7.1 開發環境中的Fabric應用實例92
3.7.2 綫上環境中的Fabric應用實例93
3.8 小結96
第4章 自動化部署管理工具Ansible簡介97
4.1 YAML語言介紹99
4.2 Ansible的安裝步驟 101
4.3 利用ssh-keygen設置SSH無密碼登錄105
4.4 Ansible常用模塊介紹107
4.5 playbook介紹121
4.6 角色126
4.7 Jinja2過濾器132
4.8 小結136
第5章 自動化配置管理工具Puppet137
5.1 Puppet的基本概念及介紹137
5.1.1 Puppet簡介137
5.1.2 學習Puppet應該掌握Ruby基礎138
5.1.3 Puppet的基本概念及工作流程介紹138
5.2 安裝Puppet前的準備工作140
5.3 Puppet的詳細安裝步驟141
5.4 Puppet的簡單文件應用 145
5.5 Puppet的進階操作152
5.5.1 如何同步Puppet-Client端上的常用服務152
5.5.2 如何在Puppet-Client端自動安裝常用的軟件包153
5.5.3 如何自動同步Puppet-Client端的yum源153
5.5.4 如何根據不同名字的節點機器推送不同的文件155
5.5.5 如何根據節點機器名選擇性地執行Shell程序158
5.5.6 如何快速同步Puppet-Server端的www目錄文件160
5.5.7 如何利用ERB模闆來自動配置Apache虛擬主機165
5.5.8 如何利用ERB模闆來自動配置Nginx虛擬主機168
5.6 Puppet的負載均衡方式172
5.7 用GitHub來管理Puppet配置文件173
5.8 小結176
第6章 Linux防火牆及係統安全篇177
6.1基礎網絡知識177
6.1.1OSI網絡參考模型177
6.1.2TCP/IP三次握手的過程詳解178
6.1.3Socket應用及其他基礎網絡知識181
6.2Linux防火牆的概念182
6.3Linux防火牆在企業中的應用183
6.4Linux防火牆的語法184
6.5iptables的基礎知識188
6.5.1iptables的狀態state188
6.5.2iptables的conntrack記錄190
6.5.3關於iptables模塊的說明191
6.5.4iptables防火牆初始化的注意事項192
6.5.5如何保存運行中的iptables規則192
6.6如何流程化編寫iptables腳本193
6.7學習iptables應該掌握的工具 196
6.7.1 命令行的抓包工具TCPDump196
6.7.2圖形化抓包工具Wireshark197
6.7.3強大的命令行掃描工具Nmap200
6.8iptables簡單腳本:Web主機防護腳本203
6.9綫上生産服務器的iptables腳本204
6.9.1安全的主機iptables防火牆腳本205
6.9.2自動分析黑名單及白名單的iptables腳本207
6.9.3利用recent模塊限製同一IP的連接數210
6.9.4利用DenyHosts工具和腳本來防止SSH暴力破解214
6.10TCP_Wrappers應用級防火牆的介紹和應用218
6.11工作中的Linux防火牆總結220
6.12Linux服務器基礎防護知識221
6.13Linux服務器高級防護知識222
6.14如何防止入侵222
6.15小結223
第7章 Linux集群及項目案例分享224
7.1負載均衡高可用核心概念及常用軟件224
7.1.1什麼是負載均衡高可用224
7.1.2以F5 BIG-IP作為負載均衡器225
7.1.3以LVS作為負載均衡器226
7.1.4以Nginx作為負載均衡器230
7.1.5以HAProxy作為負載均衡器231
7.1.6高可用軟件Keepalived232
7.1.7高可用軟件Heartbeat233
7.1.8高可用塊設備DRBD233
7.1.9四、七層負載均衡工作流程對比235
7.2負載均衡關鍵技術237
7.2.1什麼是Session237
7.2.2什麼是Session共享237
7.2.3什麼是會話保持238
7.3負載均衡器的會話保持機製239
7.3.1LVS的會話保持機製239
7.3.2Nginx負載均衡器中的ip_hash算法244
7.3.3HAProxy負載均衡器的source算法244
7.3.4服務器健康檢測技術249
7.4Linux集群的項目案例分享250
7.4.1案例分享一:用Nginx+Keepalived實現在綫票務係統250
7.4.2案例分享二:企業級Web負載均衡高可用之Nginx+Keepalived253
7.4.3案例分享三:Nginx主主負載均衡架構265
7.4.4案例分享四:生産環境下的高可用NFS文件服務器270
7.4.5案例分享五:生産環境下的MySQL DRBD雙機高可用280
7.4.6案例分享六:生産環境下的MySQL數據庫主從同步293
7.4.7案例分享七:HAProxy雙機高可用方案之HAProxy+Keepalived303
7.4.8案例分享八:巧用DNS輪詢做負載均衡308
7.5軟件級負載均衡器的特點介紹與對比313
7.6網站係統架構設計圖315
7.7小結316
第8章 淺談網站係統架構設計318
8.1網站架構設計規劃預案318
8.1.1利用經驗,閤理設計318
8.1.2規劃好網站未來的發展319
8.1.3閤理選用開源軟件方案319
8.1.4機房及CDN選型319
8.1.5節約成本320
8.1.6安全備份320
8.2百萬級PV高可用網站架構設計321
8.3韆萬級PV高性能高並發網站架構設計323
8.4億級PV高性能高並發網站架構設計327
8.5細分五層解說網站架構333
8.6小結335
附錄A HAProxy 1.4的配置文檔336
附錄B rsync及inotify在工作中的應用343
附錄C 用Supervisor批量管理進程355
· · · · · · (
收起)