前言
第1章 Linux服務器的性能調優1
1.1 網站架構設計相關1
1.1.1 評估網站性能涉及的專業名詞術語1
1.1.2 CDN業務的選項2
1.1.3 IDC機房的選擇3
1.2 如何根據服務器應用來選購服務器 4
1.3 硬件對Linux性能的影響9
1.4 CentOS 6.8 x86_64最小化安裝後的優化11
1.4.1 係統的基礎優化11
1.4.2 優化Linux下的內核TCP參數以提高係統性能19
1.4.3 CentOS 6.8 x86_64係統最小化安裝優化腳本21
1.4.4 Linux下CPU使用率與機器負載的關係與區彆23
1.5 服務器調優實際案例25
1.6 小結28
第2章 Shell腳本在生産環境下的應用29
2.1 Shell編程基礎29
2.1.1 Shell腳本基本元素30
2.1.2 Shell基礎正則錶達式30
2.1.3 Shell特殊字符32
2.1.4 變量和運算符33
2.2 Shell中控製流結構45
2.3 Sed的基礎用法及實用舉例48
2.3.1 Sed的基礎語法格式48
2.3.2 Sed的用法舉例說明53
2.4 awk的基礎用法及實用舉例56
2.5 Shell基礎正則錶達式舉例61
2.6 Shell開發中應該掌握的係統知識點68
2.7 生産環境下的Shell腳本74
2.7.1 Amazon Linux係統簡介74
2.7.2 生産環境下的備份類腳本75
2.7.3 生産環境下的監控類腳本78
2.7.4 生産環境下的運維開發類腳本84
2.8 小結88
第3章 利用Vagrant搭建分布式環境89
3.1 Vagrant簡單介紹89
3.2 Vagrant安裝90
3.3 使用Vagrant配置本地開發環境91
3.3.1 Vagrant的具體安裝步驟91
3.3.2 Vagrant配置文件詳解93
3.3.3 Vagrant常用命令詳解95
3.4 使用Vagrant搭建分布式環境96
3.5 小結99
第4章 輕量級自動化運維工具介紹100
4.1 輕量級自動化運維工具pssh介紹101
4.1.1 pssh的安裝103
4.1.2 pssh的使用103
4.2 輕量級自動化運維工具Fabric介紹105
4.2.1 Fabric的安裝105
4.2.2 Fabric的命令行入口fab命令詳細介紹107
4.2.3 Fabric的環境變量設置108
4.2.4 Fabric的核心API109
4.2.5 Fabric的執行邏輯112
4.2.6 如何利用進程池大小來限製Fabric並發進程數114
4.3 Fabric在工作中應用實例114
4.3.1 開發環境中Fabric應用實例115
4.3.2 工作場景中常見的Fabric應用實例116
4.4 小結120
第5章 Linux集群及其項目案例分享121
5.1 負載均衡高可用核心概念及常用軟件121
5.1.1 什麼是負載均衡高可用121
5.1.2 以F5 BIG-IP作為負載均衡器122
5.1.3 以LVS作為負載均衡器123
5.1.4 以Nginx作為負載均衡器132
5.1.5 以HAProxy作為負載均衡器132
5.1.6 高可用軟件Keepalived134
5.1.7 高可用軟件Heartbeat134
5.1.8 高可用塊設備DRBD135
5.2 負載均衡關鍵技術136
5.2.1 什麼是Session136
5.2.2 什麼是Session共享136
5.2.3 什麼是會話保持137
5.3 負載均衡器的會話保持機製138
5.3.1 LVS的會話保持機製138
5.3.2 Nginx負載均衡器中的ip_hash算法142
5.3.3 HAProxy負載均衡器的source算法145
5.4 服務器健康檢測150
5.5 Linux集群的項目案例分享151
5.5.1 用LVS+Keepalived建高可用集群151
5.5.2 用Nginx+Keepalived實現在綫票務係統154
5.5.3 企業級Web負載均衡高可用之Nginx+Keepalived157
5.5.4 HAProxy雙機高可用方案之HAProxy+Keepalived169
5.5.5 巧用DNS輪詢作負載均衡179
5.5.6 百萬級PV高可用網站架構設計184
5.5.7 韆萬級PV高性能高並發網站架構設計187
5.6 軟件級負載均衡器的特點介紹與對比193
5.7 四層負載均衡和七層負載均衡工作流程的對比194
5.8 Linux集群的總結和思考196
5.9 小結198
第6章 MySQL性能調優及高可用案例分享200
6.1 MySQL數據庫的優化200
6.1.1 服務器物理硬件的優化200
6.1.2 MySQL配置文件的優化201
6.1.3 MySQL上綫後根據status狀態進行適當優化204
6.1.4 利用tuning-primer腳本進行數據庫調優212
6.1.5 MySQL架構設計調優216
6.2 MySQL數據庫的高可用架構方案216
6.2.1 生産環境下的DRBD+Heart-beat+MySQL雙機高可用217
6.2.2 生産環境下的MySQL數據庫主從Replication同步228
6.3 小結240
第7章 Linux防火牆介紹242
7.1 基礎網絡知識242
7.1.1 OSI網絡參考模型242
7.1.2 TCP/IP三次握手的過程詳解243
7.1.3 Socket應用245
7.1.4 其他基礎網絡知識247
7.2 Linux防火牆的狀態機製247
7.3 Linux防火牆在企業中的應用247
7.4 Linux防火牆的語法248
7.5 iptables的基礎知識252
7.5.1 iptables的狀態state252
7.5.2 iptables的Conntrack記錄254
7.5.3 關於iptables模塊的說明255
7.5.4 iptables防火牆初始化的注意事項256
7.5.5 如何保存運行中的iptables規則256
7.6 如何流程化編寫iptables腳本257
7.7 學習iptables應該掌握的工具260
7.7.1 命令行的抓包工具TCPDump260
7.7.2 圖形化抓包工具Wireshark261
7.7.3 強大的命令行掃描工具Nmap264
7.7.4 使用TCPPing工具檢測TCP延遲266
7.8 iptables的簡單腳本學習267
7.8.1 普通的Web主機防護腳本267
7.8.2 如何讓彆人ping不到自己,而自己能ping通彆人呢?269
7.8.3 建立安全的vsftpd服務器271
7.9 綫上生産服務器的iptables腳本275
7.9.1 安全的主機iptables防火牆腳本275
7.9.2 自動分析黑名單及白名單的iptables腳本278
7.9.3 利用recent模塊限製同一IP的連接數281
7.9.4 利用DenyHosts工具和腳本來防止SSH暴力破解285
7.10 工作中的Linux防火牆總結287
7.11 小結289
第8章 Linux係統安全相關篇290
8.1 TCP_wrappers應用級防火牆的介紹和應用290
8.2 DDos攻擊和運營商劫持292
8.3 Linux服務器的安全防護294
8.3.1 Linux服務器基礎防護篇294
8.3.2 Linux服務器高級防護篇295
8.4 Linux係統如何防止入侵301
8.5 小結301
附錄A GibLab在開發工作中的實際應用302
附錄B Sublime Text3的快捷鍵操作308
附錄C 調試網絡接口的利器Postman315
附錄D RSYNC及INOTIFY在工作中的應用321
· · · · · · (
收起)