第1章 安裝Nginx及第三方模塊\t1
1.1 使用包管理器安裝Nginx\t2
1.1.1 CentOS\t2
1.1.2 Debian\t3
1.2 從源代碼安裝Nginx\t3
1.2.1 準備編譯環境\t4
1.2.2 從源代碼編譯\t4
1.3 配置web或者mail服務器\t6
1.3.1 郵件代理的配置選項\t6
1.3.2 指定路徑的配置選項\t7
1.4 使用各種模塊\t8
1.5 查找並安裝第三方模塊\t11
1.6 組合在一起\t12
1.7 總結\t14
第2章 配置指南\t15
2.1 基本配置格式\t15
2.2 Nginx的全局配置參數\t16
2.3 使用include文件\t17
2.4 Http的server部分\t18
2.4.1 客戶端指令\t18
2.4.2 文件I/O指令\t19
2.4.3 Hash指令\t20
2.4.4 Socket指令\t21
2.4.5 示例配置文件\t22
2.5 虛擬server部分\t22
2.6 Locations——wheve,when,how\t26
2.7 mail的server部分\t28
2.8 完整的樣本配置文件\t30
2.9 總結\t31
第3章 使用mail模塊\t33
3.1 基本代理服務\t33
3.1.1 POP3服務\t35
3.1.2 IMAP服務\t36
3.1.3 SMTP服務\t36
3.1.4 使用SSL/TLS\t37
3.1.5 完整的mail示例\t40
3.2 認證服務\t42
3.3 與Memcached結合\t49
3.4 解釋日志文件\t52
3.5 操作繫統的限制\t54
3.6 總結\t55
第4章 Nginx作為反向代理\t57
4.1 反向代理簡介\t58
4.1.1 代理模塊\t59
4.1.2 upstream模塊\t64
4.2 upstream服務器的類型\t67
4.2.1 單個upstream服務器\t67
4.2.2 多個upstream服務器\t69
4.2.3 非Http型upstream服務器\t70
4.3 將if配置轉換為一個更現代的解釋\t72
4.4 使用錯誤文件來處理upstream的問題\t76
4.5 確定客戶端的真實IP地址\t78
4.6 總結\t78
第5章 反向代理高級話題\t81
5.1 實現安全隔離\t82
5.1.1 使用SSL對流量進行加密\t82
5.1.2 使用SSL進行客戶端身份驗證\t84
5.1.3 基於原始IP地址阻止流量\t86
5.2 孤立應用程序的擴展\t89
5.3 反向代理服務器的性能調優\t92
5.3.1 緩衝\t92
5.3.2 緩存\t94
5.3.3 壓縮\t100
5.4 總結\t103
第6章 Nginx Http服務器\t105
6.1 Nginx的繫統結構\t106
6.2 Http的核心模塊\t106
6.2.1 server\t107
6.2.2 日志\t108
6.2.3 文件查找\t111
6.2.4 名字解析\t113
6.2.5 客戶端交互\t115
6.3 使用limit指令防止濫用\t117
6.4 約束訪問\t121
6.5 流媒體文件\t126
6.6 預定義變量\t127
6.7 使用Nginx和PHP-FPM\t129
6.8 將Nginx和uWSGI連接在一起工作\t141
6.9 總結\t143
第7章 Nginx的開發\t145
7.1 緩存集成\t145
7.1.1 應用程序沒有緩存\t146
7.1.2 使用數據庫緩存\t148
7.1.3 使用文件做緩存\t150
7.2 動態修改內容\t154
7.2.1 addition模塊\t154
7.2.2 sub模塊\t155
7.2.3 xslt模塊\t156
7.3 使用服務器端包含SSI\t157
7.4 在Nginx中的決策\t159
7.5 創建安全鏈接\t163
7.6 生成圖像\t165
7.7 跟蹤網站的訪問者\t169
7.8 防止意外的代碼執行\t170
7.9 總結\t171
第8章 故障排除技巧\t173
8.1 分析日志文件\t173
8.1.1 錯誤日志文件格式\t174
8.1.2 錯誤日志文件條目實例\t175
8.2 配置高級日志記錄\t178
8.2.1 調試日志記錄\t178
8.2.2 使用訪問日志文件進行調試\t185
8.3 常見的配置錯誤\t188
8.3.1使用if取代try_files\t188
8.3.2 使用if作為主機名切換\t189
8.3.3 不使用server部分的配置追求更好的效果\t190
8.4 操作繫統限制\t192
8.4.1 文件描述符限制\t192
8.4.2 網絡限制\t194
8.5 性能問題\t195
8.6 使用Stub Status模塊\t197
8.7 總結\t198
附錄A 指令參考\t199
附錄B Rewrite規則指南\t241
B.1 介紹rewrite模塊\t241
創建新的rewrite規則\t245
B.2 轉換Apache的重寫規則\t247
B.2.1 規則 #1:使用try_files替代目錄和文件存在性檢測\t247
B.2.2 規則 #2:使用location替代匹配REQUEST_URI\t247
B.2.3 規則 #3:使用server替代匹配R Http_HOST\t248
B.2.4 規則 #4:變量檢查使用if替代RewriteCond\t250
B.3 總結\t251
附錄C Nginx的社區\t253
C.1 郵件列表\t253
C.2 IRC頻道\t254
C.3 Web資源\t254
C.4 撰寫好的bug報告\t254
C.5 總結\t255
附錄D Solaris繫統下的網絡調優\t257