精通Nginx(第2版)

精通Nginx(第2版)
定價:354
NT $ 308
 

內容簡介

Nginx是一個高性能的輕量級Web服務器,本書從配置文件的角度出發,介紹了多種關於Nginx配置的技巧。

本書以模塊化風格寫成,幾乎每一章都是一個獨立的模塊,讀者將能夠自由地在各個模塊間切換閱讀。

全書分兩部分,第1部分用9章內容介紹了安裝Nginx及第三方模塊、配置向導、使用mail模塊、Nginx作為反向代理、Nginx Http服務器、Nginx的開發、在Nginx中集成Lua以及故障排除技巧;第二部分用4個附錄的形式介紹了指令參考、Rewrite規則指南、Nginx社區以及Solaris系統下的網絡調優。

本書適合在安裝和配置服務器方面有經驗的系統管理員或系統工程師,閱讀本書不需要任何Nginx使用經驗,相信這本書會幫助讀者更好地完成任務。

本書在國外眾多的Nginx圖書中,以其簡潔實用得到了讀者和專家的認可。國內有Nginx圖書作者和專家專門向我們推薦本書,並自願承擔翻譯工作。
本書第1版在我社出版后,較短時間內重印,總印數4000冊。
 

目錄

第1章 安裝Nginx及第三方模塊 1
1.1 使用包管理器安裝Nginx 2
1.1.1 在Centos上安裝Nginx 2
1.1.2 在Debian上安裝Nginx 3
1.2 從源代碼安裝Nginx 3
1.2.1 准備編譯環境 3
1.2.2 從源代碼編譯 4
1.2.3 為Web或者Mail服務器配置Nginx 5
1.2.4 郵件代理的配置選項 6
1.2.5 指定路徑的配置選項 6
1.3 配置SSL支持 7
1.4 使用各種模塊 7
禁用不再使用的模塊 9
1.5 查找並安裝第三方模塊 10
1.6 添加對Lua的支持 11
1.7 組合在一起 11
1.8 小結 13第2章 配置指南 14
2.1 基本配置格式 14
2.2 Nginx全局配置參數 15
2.3 使用include文件 16
2.4 HTTP的server部分 17
2.4.1 客戶端指令 17
2.4.2 文件I/O指令 18
2.4.3 Hash指令 19
2.4.4 Socket指令 19
2.4.5 示例配置文件 20
2.5 虛擬服務器部分 20
2.6 Locations—where,when,how 24
2.7 完整的示例配置文件 26
2.8 小結 27

第3章 使用mail模塊 29
3.1 基本代理服務 29
3.1.1 mail的server配置部分 30
3.1.2 POP3服務 32
3.1.3 IMAP服務 33
3.1.4 SMTP服務 33
3.1.5 使用SSL/TLS 34
3.1.6 完整的mail示例 37
3.2 認證服務 38
3.3 與memcached結合 46
3.4 解釋日志文件 48
3.5 操作系統限制 50
3.6 小結 51

第4章 Nginx作為反向代理 52
4.1 反向代理簡介 53
4.2 代理模塊 54
4.3 帶有cookie的遺留應用程序 57
4.4 upstream模塊 58
4.5 保持活動連接 59
4.6 上游服務器的類型 61
4.7 單個上游服務器 61
4.8 多個上游服務器 62
4.9 非HTTP型上游服務器 63
4.9.1 Memcached上游服務器 63
4.9.2 FastCGI上游服務器 64
4.9.3 SCGI上游服務器 65
4.9.4 uWSGI上游服務器 65
4.10 負載均衡 65
負載均衡算法 65
4.11 將if配置轉換為一個更現代的解釋 66
4.12 使用錯誤文件處理上游服務器問題 70
4.13 確定客戶端真實的IP地址 72
4.14 小結 72

第5章 反向代理高級話題 73
5.1 安全隔離 74
5.1.1 使用SSL對流量進行加密 74
5.1.2 使用SSL進行客戶端身份驗證 76
5.1.3 基於原始IP地址阻止流量 78
5.2 孤立應用程序組件的擴展 80
5.3 反向代理服務器的性能調優 83
5.3.1 緩沖數據 84
5.3.2 緩存數據 86
5.3.3 存儲數據 90
5.3.4 壓縮數據 91
5.4 小結 94

第6章 Nginx HTTP服務器 95
6.1 Nginx的系統架構 95
6.2 HTTP核心模塊 96
6.2.1 server指令 97
6.2.2 Nginx中的日志 98
6.2.3 查找文件 101
6.2.4 域名解析 103
6.2.5 客戶端交互 104
6.3 使用limit指令防止濫用 106
6.4 約束訪問 110
6.5 流媒體文件 114
6.6 預定義變量 115
6.7 SPDY和HTTP/2 117
6.8 使用Nginx和PHP-FPM 118
6.9 一個Drupal的配置示例 121
6.9 將Nginx和uWSGI結合 129
一個Django的配置示例 129
6.10 小結 131

第7章 Nginx的開發 133
7.1 集成緩存 133
7.1.1 應用程序沒有緩存 134
7.1.2 使用數據庫緩存 135
7.1.3 使用文件系統做緩存 138
7.2 動態修改內容 141
7.2.1 使用addition模塊 141
7.2.2 sub模塊 142
7.2.3 xslt模塊 143
7.3 使用服務器端包含SSI(Server Side Include) 144
7.4 Nginx中的決策 146
7.5 創建安全鏈接 150
7.6 生成圖像 152
7.7 跟蹤網站訪問者 155
7.8 防止意外代碼執行 156
7.9 小結 157

第8章 在Nginx中集成Lua 159
8.1 ngx_lua模塊 159
8.2 集成Lua 160
8.3 使用Lua記錄日志 163
8.4 小結 163

第9章 故障排除技巧 164
9.1 分析日志文件 164
9.1.1 錯誤日志文件格式 164
9.1.2 錯誤日志文件條目實例 166
9.2 配置高級日志記錄 168
9.2.1 調試日志記錄 169
9.2.2 在運行時切換二進制運行文件 169
9.2.3 使用訪問日志文件進行調試 175
9.3 常見的配置錯誤 177
9.3.1 使用if取代try_files 178
9.3.2 使用if作為主機名切換 179
9.3.3 不使用server部分的配置追求更好的效果 180
9.4 操作系統限制 181
9.4.1 文件描述符限制 181
9.4.2 網絡限制 183
9.5 性能問題 184
9.6 使用Stub Status模塊 186
9.7 小結 187

附錄A 指令參考 189
附錄B Rewrite規則指南 224
附錄C Nginx社區 236
附錄D Solaris系統下的網絡調優 239
網路書店 類別 折扣 價格
  1. 新書
    87
    $308