| 書[0名0]: | Nginx Lua開發實戰|7390730 |
| 圖書定價: | 99元 |
| 圖書作者: | 李明江 |
| 齣版社: | [1機1] 械工業齣版社 |
| 齣版日期: | 2018/3/1 0:00:00 |
| ISBN號: | 9787111590293 |
| 開本: | 16開 |
| 頁數: | 0 |
| 版次: | 1-1 |
| 目錄 |
前言 部分 Nginx操作基礎 [0第0]1章 Nginx高效服務器 2 1.1 Nginx的特點 2 1.2 Nginx的安裝 3 1.3 configure命令參數 7 1.4 小結 12 [0第0]2章 數據庫的基本操作 13 2.1 Nginx應用中的數據庫 13 2.2 MySQL關係型數據庫 15 2.2.1 yum安裝方[0法0] 16 2.2.2 使用mysql測試服務 18 2.2.3 MySQL文件分布 19 2.2.4 數據庫操作 19 2.3 Redis內存數據庫 22 2.3.1 Redis安裝 22 2.3.2 啓動Redis服務 23 2.3.3 Redis 配置 23 2.3.4 參數說明 26 2.3.5 數據類型 29 2.4 PostgreSQL關係型數據庫 31 2.5 Memcached內存數據庫 33 2.5.1 Memcached安裝 34 2.5.2 連接編輯 34 2.5.3 管理Memcached服務 35 2.5.4 Memcached命令 37 2.6 MongoDB分布式[0No0]SQL數據庫 42 2.6.1 MongoDB安裝 43 2.6.2 mongod.conf配置說明 45 2.7 小結 48 [0第0]3章 OpenResty 49 3.1 OpenResty:概述 49 3.2 OpenResty的組成 50 3.3 OpenResty的安裝 52 3.4 Nginx多實例 54 3.5 小結 54 [0第0]4章 Nginx核心技術 55 4.1 Nginx設計目標 55 4.2 Nginx架構 57 4.2.1 事件驅動 57 4.2.2 異步多階段處理 59 4.2.3 模塊化設計 61 4.2.4 管理進程、工作進程設計 63 4.2.5 內存池 65 4.2.6 連接池 66 4.2.7 時間緩存 66 4.2.8 延遲關閉 67 4.2.9 跨平颱 67 4.2.10 HTTP模塊管道過濾模式 67 4.2.11 keepalive 68 4.2.12 pipeline 69 4.3 小結 69 [0第0]5章 Nginx的工作流程 70 5.1 Nginx的啓動流程 70 5.2 管理進程的工作流程 72 5.3 工作進程的工作流程 75 5.4 配置加載流程 76 5.5 HTTP框架初始化流程 79 5.6 HTTP模塊調用流程 81 5.7 HTTP請求處理流程 82 5.8 小結 83 [0第0]二部分 Lua腳本語言 [0第0]6章 Lua教程 86 6.1 Lua基礎 86 6.1.1 Lua的特性 86 6.1.2 Lua的應用場景 87 6.1.3 安裝Lua環境 87 6.2 Lua基本語[0法0] 88 6.2.1 個Lua程序 88 6.2.2 注釋 89 6.2.3 標識符 90 6.2.4 關鍵詞 90 6.2.5 全局變量 90 6.3 Lua的數據類型 90 6.4 Lua變量 96 6.4.1 賦值語句 96 6.4.2 索引 97 6.5 Lua循環 98 6.6 Lua流程控製 98 6.7 Lua函數 99 6.7.1 函數的定義 99 6.7.2 多返迴值 100 6.7.3 可變參數 101 6.8 Lua運算符 101 6.8.1 算術運算符 102 6.8.2 關係運算符 102 6.8.3 邏輯運算符 103 6.8.4 其他運算符 104 6.8.5 運算符的[0優0]先級 105 6.9 Lua字符串 106 6.10 Lua數組 107 6.10.1 一維數組 107 6.10.2 多維數組 108 6.11 Lua迭代器 109 6.11.1 泛型for迭代器 109 6.11.2 無狀態的迭代器 110 6.11.3 多狀態的迭代器 111 6.12 Lua錶 112 6.13 Lua模塊與包 113 6.13.1 require函數 114 6.13.2 加載 [1機1] 製 115 6.13.3 C包 115 6.14 Lua元錶 116 6.14.1 _index元方[0法0] 117 6.14.2 _newindex元方[0法0] 118 6.14.3 為錶添加運算符 119 6.14.4 _c[0all0]元方[0法0] 119 6.14.5 _tostring元方[0法0] 120 6.15 Lua協同程序 121 6.15.1 基本語[0法0] 121 6.15.2 生産者–消費者問題 124 6.16 Lua錯誤處理 125 6.16.1 語[0法0]錯誤 125 6.16.2 運行錯誤 125 6.16.3 錯誤處理 126 6.16.4 error函數 126 6.16.5 pc[0all0]、xpc[0all0]、debug 127 6.17 Lua調試 128 6.18 Lua垃圾迴收 130 6.19 Lua麵嚮對象 131 6.19.1 Lua中麵嚮對象 132 6.19.2 Lua繼承 134 6.20 Lua數據庫訪問 136 6.21 小結 137 [0第0]7章 Lua通用庫 138 7.1 字符串庫 138 7.2 錶庫 141 7.3 文件I/O庫 143 7.3.1 簡單模式 144 7.3.2 完全模式 145 7.3.3 其他方[0法0] 146 7.4 數[0學0]庫 147 7.5 操作係統庫 150 7.6 小結 151 [0第0]三部分 Nginx開發技術 [0第0]8章 JSON數據交換格式 154 8.1 什麼是JSON 154 8.2 JSON轉換為對象 155 8.3 JSON與XML的比較 155 8.4 JSON語[0法0]規則 156 8.5 格式化 157 8.6 小結 158 [0第0]9章 nginx.conf文件配置 159 9.1 默認nginx.conf文件 159 9.2 nginx.conf示例 162 9.3 全局配置與[0頂0]層配置塊 166 9.3.1 main全局配置 166 9.3.2 events配置塊 170 9.3.3 http服務器配置塊 172 9.3.4 ngx_http_core_module變量 194 9.3.5 stream 195 9.4 中文版nginx.conf 201 9.5 小結 204 [0第0]10章 Nginx下Lua實現 [1機1] 製 206 10.1 ngx_lua原理 206 10.2 HTTP請求的處理階段 209 10.3 ngx_lua的處理階段 210 10.4 Lua階段解析 212 10.4.1 init_by_lua 212 10.4.2 init_worker_by_lua 213 10.4.3 set_by_lua 214 10.4.4 rewrite_by_lua 216 10.4.5 access_by_lua 217 10.4.6 content_by_lua 218 10.4.7 header_filter_by_lua 220 10.4.8 body_filter_by_lua 220 10.4.9 log_by_lua 220 10.4.10 balancer_by_lua_block 221 10.5 小結 222 [0第0]四部分 Nginx Lua開發實戰 [0第0]11章 Redis操作 224 11.1 Redis操作方[0法0]概述 224 11.2 HttpRedis訪問方[0法0] 225 11.2.1 示例 225 11.2.2 HttpRedis API 226 11.2.3 HttpRedis變量 228 11.3 HttpRedis2Module訪問方[0法0] 229 11.3.1 示例 229 11.3.2 nginx.conf配置 230 11.3.3 常用指令 231 11.3.4 技術點 234 11.3.5 應答包解析 238 11.4 lua-resty-redis訪問方[0法0] 239 11.4.1 示例 239 11.4.2 API函數 240 11.4.3 技術點 244 11.4.4 問題列錶 246 11.4.5 限製 247 11.4.6 安裝 247 11.5 小結 247 [0第0]12章 MySQL操作 248 12.1 lua-restry-mysql訪問方式 248 12.1.1 示例 248 12.1.2 安裝 250 12.1.3 方[0法0]與函數 251 12.1.4 多結果集返迴示例 254 12.1.5 其他注意事項 255 12.1.6 限製 255 12.2 HttpDrizzleModule訪問方式 255 12.2.1 示例 256 12.2.2 安裝 257 12.2.3 技術點 258 12.2.4 配置指令 259 12.2.5 變量 263 12.2.6 輸齣格式 264 12.3 HttpDrizzleModule完整示例 265 12.4 小結 272 [0第0]13章 Memcached操作 273 13.1 mem-nginx-module訪問方式 273 13.1.1 概述 273 13.1.2 命令 276 13.1.3 指令 279 13.1.4 安裝 281 13.1.5 說明 281 13.1.6 示例 282 13.2 lua-resty-memcached 訪問方式 285 13.2.1 概述 285 13.2.2 API 286 13.2.3 自動日誌 291 13.2.4 限製 291 13.3 小結 291 [0第0]14章 PostgreSQL操作 292 14.1 概述 292 14.2 配置指令 293 14.3 配置變量 295 14.4 示例 296 14.5 小結 298 [0第0]15章 MongoDB操作 299 15.1 安裝 299 15.2 配置 299 15.3 操作函數 300 15.3.1 連接對象方[0法0] 300 15.3.2 數據庫對象方[0法0] 301 15.3.3 列對象方[0法0] 301 15.4 示例 302 15.5 小結 303 [0第0]16章 bit庫的使用 304 16.1 示例 304 16.2 安裝 305 16.3 函數 305 16.4 說明 307 16.5 小結 308 [0第0]17章 lfs庫的使用 309 17.1 目錄迭代示例 309 17.2 安裝 310 17.3 LuaFileSystem函數 310 17.4 小結 312 [0第0]18章 resty.http庫的使用 313 18.1 安裝 313 18.2 概述 314 18.3 函數 315 18.3.1 連接類 315 18.3.2 應答類 318 18.3.3 代理類 319 18.3.4 工具類 319 18.4 小結 320 [0第0]19章 lcurl庫的使用 321 19.1 安裝 321 19.1.1 安裝libcurl 321 19.1.2 安裝lcurl 322 19.2 示例 322 19.3 函數 324 19.3.1 httpform類 325 19.3.2 easy類 327 19.3.3 multi類 331 19.3.4 error類 333 19.3.5 share類 333 19.4 常用變量 334 19.4.1 字符串數組類選項 334 19.4.2 字符串選項 334 19.4.3 數值型選項 336 19.4.4 布爾型選項 337 19.5 完整示例 338 19.6 小結 340 [0第0]20章 FFI擴展C庫 341 20.1 示例 341 20.1.1 調用外部C函數 341 20.1.2 使用C結構體數據 342 20.2 FFI庫的使用 344 20.2.1 載入FFI庫 344 20.2.2 訪問標準係統函數 344 20.2.3 訪問zlib壓縮庫 345 20.2.4 為一個C類型定義元方[0法0] 346 20.2.5 轉換C語[0法0] 347 20.3 FFI API 348 20.3.1 聲明和訪問外部符號 348 20.3.2 創建cdata對象 349 20.3.3 C類型信息 349 20.3.4 功能函數 350 20.3.5 特定目標信息 351 20.3.6 方[0法0]迴調 351 20.3.7 擴展標準庫函數 351 20.4 調用curl庫的完整示例 352 20.5 小結 352 [0第0]21章 cjson庫的使用 353 21.1 示例 353 21.2 函數 354 21.3 變量 358 21.4 小結 358 [0第0]22章 lua-resty-template類的使用 359 22.1 示例 359 22.2 模闆符號 360 22.2.1 短轉義符號 361 22.2.2 上下文錶中的復雜key 361 22.2.3 HTML轉義 361 22.2.4 保留的上下文key和[0評0]論 362 22.3 安裝 363 22.3.1 Nginx/OpenResty配置 363 22.3.2 使用document_root 363 22.3.3 使用template_root 364 22.3.4 使用template_location 364 22.4 Lua API 364 22.5 模闆預編譯 368 22.6 模闆助手 368 22.7 用[0法0]示例 369 22.7.1 引用模闆 369 22.7.2 Layouts的views 370 22.7.3 使用Blocks 371 22.7.4 繼承 373 22.7.5 Macros 374 22.7.6 調用模闆中的方[0法0] 375 22.7.7 模闆內嵌的Angular或其他標簽/模闆 376 22.7.8 模闆內嵌的Markdown 376 22.7.9 LSP 377 22.8 FAQ 378 22.9 小結 379 [0第0]23章 WebSocket的使用 380 23.1 示例 381 23.2 安裝 383 23.3 resty.websocket.server 383 23.4 resty.websocket.client 386 23.5 resty.websocket.protocol 389 23.6 使用注意事項 390 23.7 小結 390 [0第0]24章 TCP私有服務器實例 391 24.1 協議 391 24.1.1 協議總體要求 391 24.1.2 包頭定義 392 24.1.3 協議命令 393 24.2 DDP係統架構 394 24.3 DDP服務實現 395 24.3.1 nginx.conf配置 395 24.3.2 init.lua 398 24.3.3 ddp.lua 399 24.3.4 DDP代碼解析 405 24.3.5 Redis和MySQL的 location 407 24.3.6 管理頁麵REST操作 411 24.4 小結 412 [0第0]25章 WebSocket接入服務器實戰 413 25.1 nginx.conf內容 413 25.2 ws_svr.lua內容 421 25.3 update_alarts代碼 436 25.4 小結 438 [0第0]26章 Nginx應用簡述 439 26.1 簡單係統 439 26.2 讀寫分離係統 439 26.3 引入緩存係統 440 26.4 緩存主從係統 441 26.5 小結 442 [0第0]五部分 開發手冊 [0第0]27章 ngx_lua_module模塊配置指令詳解 444 27.1 概述 444 27.2 Lua配置順序 456 27.3 配置指令 457 27.4 小結 487 [0第0]28章 ngx_lua API詳解 488 28.1 概述 488 28.2 API與常量 491 28.3 小結 565 |
作為一名長期與 Web 開發打交道的老兵,我閱覽過不少關於 Nginx 的書籍,但《Nginx Lua開發實戰 計算機與互聯網》這本書給我的感覺格外不同。它沒有落入俗套地隻是講解 Nginx 的各種配置指令,而是將 Lua 腳本作為一種強大的工具,賦予瞭 Nginx 前所未有的靈活性和可編程性。我特彆喜歡書中對於一些高級特性的講解,比如如何利用 Lua 訪問外部數據庫、調用微服務、甚至進行實時的 A/B 測試。這些都遠遠超齣瞭我之前對 Nginx 的認知範疇。書中給齣的那些用 Lua 實現的服務端渲染(SSR)的例子,簡直是把我驚到瞭,我從未想過 Nginx 能夠承擔如此復雜的業務邏輯。而且,作者在講解過程中,非常注重代碼的易讀性和可維護性,提供的示例代碼都經過精心設計,便於理解和學習。對於那些希望將 Nginx 從一個單純的 Web 服務器,升級為一個能夠處理復雜業務邏輯的平颱級應用的朋友來說,這本書無疑是一扇全新的大門。
評分這本書真是讓我大開眼界!之前我對 Nginx 的瞭解僅限於一個高性能的 Web 服務器,知道它能做反嚮代理、負載均衡,但 Lua 在其中扮演的角色我一直很模糊。直到我翻開《Nginx Lua開發實戰 計算機與互聯網》,纔真正明白 Lua 腳本能夠如此深入地集成到 Nginx 的請求處理流程中。這本書沒有一開始就拋齣晦澀的代碼,而是循序漸進地講解瞭 Lua 的基礎語法和 Nginx 模塊化的設計理念,讓我這個初學者也能很快上手。最令我印象深刻的是,書中通過大量的實際案例,展示瞭如何利用 Lua 編寫自定義的 Nginx 模塊,比如實現更靈活的訪問控製、動態配置修改、甚至是與後端服務的智能交互。特彆是關於緩存策略優化的章節,通過 Lua 腳本的介入,可以實現比 Nginx 內置緩存更精細的控製,這對於提升網站性能和降低服務器壓力有著直接的幫助。而且,書中對性能調優的講解也非常到位,不僅僅停留在理論層麵,還提供瞭很多實用的技巧和方法,讓我能夠更好地理解和應用。我強烈推薦給所有想要深入理解 Nginx 並希望提升其功能的朋友。
評分我一直覺得 Nginx 在處理高並發場景下,雖然性能卓越,但在某些定製化的業務邏輯實現上,總覺得有些力不從心。直到我接觸到《Nginx Lua開發實戰 計算機與互聯網》這本書,我纔真正領略到 Lua 腳本為 Nginx 帶來的無限可能。書中對於 Lua 腳本在 Nginx 生命周期各個階段的切入點,以及如何利用這些切入點實現各種高級功能的講解,可以說是非常細緻和深入。我尤其對書中關於如何使用 Lua 構建一個高性能的身份認證和授權中心的部分印象深刻,這不僅大大簡化瞭後端服務的復雜度,還提高瞭整個係統的響應速度。而且,書中還涉及到瞭如何利用 Lua 進行流量整形、動態路由的實現,這些都是我一直在尋找的解決方案。這本書不僅僅是一本技術手冊,更像是一本打開瞭 Nginx 潛能的“武林秘籍”,讓我能夠以一種全新的視角去審視和利用 Nginx。
評分不得不說,我被《Nginx Lua開發實戰 計算機與互聯網》這本書的深度和廣度所震撼。它不僅僅是一本介紹 Nginx 如何加載 Lua 腳本的書,更像是一本將 Nginx 的擴展能力推嚮極緻的寶典。作者在書中對於 Nginx 核心架構和 Lua 語言特性結閤的闡述,簡直是教科書級彆的。我尤其欣賞書中對 OpenResty 生態係統的詳細介紹,以及如何利用 LuaJIT 極大地提升 Lua 代碼在 Nginx 中的執行效率。書中提供的那些關於如何構建高性能 API 網關、實現分布式鑒權、以及進行復雜的日誌分析的案例,都非常有啓發性。我之前一直在尋找一種更靈活的方式來處理一些定製化的網絡請求邏輯,而這本書提供的解決方案,比如使用 Lua 編寫的 `access_by_lua_block` 來實現細粒度的業務邏輯判斷,或者利用 `rewrite_by_lua_block` 來動態地重寫請求,都完美地解決瞭我的痛點。而且,書中對一些常見的安全漏洞和防禦策略的講解,也讓我對如何構建更安全的 Web 應用有瞭更深刻的認識。這本書絕對是那些追求技術深度和追求極緻性能的開發者的必備讀物。
評分說實話,我起初對這本書的期望並不是很高,以為隻是一些 Nginx 結閤 Lua 的基礎教程。但《Nginx Lua開發實戰 計算機與互聯網》這本書徹底顛覆瞭我的看法。它以一種極其專業和係統的方式,講解瞭如何將 Lua 腳本深度集成到 Nginx 的每一個角落,從而實現各種超乎想象的功能。書中關於如何利用 Lua 進行實時的數據處理和分析的章節,尤其讓我耳目一新。我之前一直在考慮如何在高並發場景下對請求數據進行實時過濾和增強,而書中提供的 Lua 解決方案,比如利用 `body_filter_by_lua_block` 來修改響應體,或者使用 `log_by_lua_block` 來進行自定義日誌記錄,都為我提供瞭非常直接和有效的思路。而且,書中對錯誤處理和調試技巧的講解也非常細緻,避免瞭我在實踐過程中走太多彎路。這本書無疑是那些希望將 Nginx 的能力發揮到極緻,並願意投入時間去深入學習的開發者的不二之選。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有