-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

OpenResty完全開發指南:構建百萬級別并發的Web應用

( 簡體 字)
作者:羅劍鋒類別:1. -> 程式設計 -> 綜合
譯者:
出版社:電子工業出版社OpenResty完全開發指南:構建百萬級別并發的Web應用 3dWoo書號: 49932
詢問書籍請說出此書號!

缺書
NT售價: 345

出版日:9/1/2018
頁數:228
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121348969
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

隨感
本書肇始于三年多前我的《Nginx模塊開發指南》一書。最初是以書末的附錄形式出現,只有短短的幾頁,粗略地介紹了OpenResty的核心組件ngx_lua。連我自己也沒有想到,幾年后的今天它竟然“脫胎換骨”,進化成了一本頗具規模的正式圖書。
寫作本書還是有感于目前國內技術書刊市場的現狀。
十幾二十幾年前只有少數資深專家掌握核心技術,通過著書立說的方式來分享知識,普惠大眾。但隨著互聯網的高速發展,知識的獲取方式變得越來越簡單了,任何人都可以在網上輕松地查找到所需的資料,也可以在網上很容易地發表文章。書——曾經被譽為“進步的階梯”“精神的食糧”——已經不是那么重要了。
另一方面,互聯網的普及也降低了書的嚴肅性和出版門檻。個人“惡意推測”,也許是為了“圖省事”或者“賺快錢”,有相當多的人只是把若干博客文章集合在一起,再加以少量修改就“攢”成了一本書。這種“亂燉”“雜燴”形式的書籍拼湊的痕跡十分明顯,缺乏內在的邏輯和連貫性,不過憑借著網絡上積累的“人氣”也能夠獲得不錯的銷量,但在我看來實在是對讀者的不尊重和不負責。
一個極端的例子是前段時間偶然遇到的名為《□□開發實戰》的書,其粗制濫造程度簡直是“超乎想象”,“不料,也不信竟會兇殘到這地步” [ 原文出自魯迅《記念劉和珍君》。]——幾乎90%的內容都是原封不動地拷貝網絡上現成的材料,再有就是直接復制數十頁全無注釋的雜亂代碼,通篇看下來可能只有前言是“原創”,著實是“欽佩”該書作者厚顏無恥的“功力”。
單純地感慨“世風日下”“人心不古”是沒有用的,我所能做的,就是盡自己“微茫”的努力,寫出一些無愧于己于人的文字。
關于OpenResty
有這樣一種說法:“Nginx是網絡世界里的操作系統,而OpenResty則是Nginx上的Web服務器”。
Nginx在Web Server業內的領軍地位早已經得到了公認,是高性能服務器的杰出代表。它采用C語言開發,能夠跨平臺運行,把性能挖掘優化技術發揮到了極致。正因為如此,Nginx也很自然地成為了一個超越原生操作系統的開發平臺,程序員可以完全無視底層系統之間的差異,在Nginx的框架里調用豐富的數據結構和功能接口,開發出高性能高可移植的各種應用程序。[ 通常來說Nginx適合運行單線程的I/O密集型應用,但實際上它也可以使用多線程技術運行CPU密集型應用。]
但基于Nginx開發主要使用的語言是C/C++,開發難度高周期長,雖然沒有達到“望而生畏”的程度但亦不遠矣。好在OpenResty應運而生,在Nginx里嵌入了LuaJIT環境和Lua語言,就如同給裸系統添加了一個高效易用的Shell,瞬間就讓Nginx開發的難度直線下降,降低到了普通的心智模型可以理解掌握的水平。
早期OpenResty對于自身的定位主要還是HTTP Server(其實也是受到Nginx的限制),可以利用“膠水語言”Lua來操縱Nginx,靈活定制業務邏輯,方便快捷地搭建出超高并發的各種Web服務,從而節約時間和人力成本。多年來的實踐證明,這方面它的確工作得非常出色。
近兩年OpenResty的發展開始加速,支持了TCP/UDP協議,擴充了眾多的專用庫、應用框架以及外圍工具,逐漸形成了一個比較獨立自洽的生態體系。雖然Nginx仍然是核心,但看得出OpenResty有淡化自身“Nginx Bundle”色彩的趨勢,力圖成為一個更偉大的存在。
隨著軟件基金會和商業公司的成立,OpenResty獲得了前所未有的成長動力。“路遠,正未有窮期”,在此借本書送上誠摯的祝福與期待。
致謝
首先要感謝Nginx的作者Igor Sysoev和OpenResty的作者agentzh,正是因為他們多年來持續無私的奉獻,我們才能夠擁有如此強大易用的Web Server。
接下來我要感謝父母多年來的養育之恩,感謝妻子和兩個可愛的女兒(“點心”組合)在生活中的陪伴,愿你們能夠永遠幸福快樂。
我也要感謝讀者選擇本書,希望讀者能從中汲取有用的知識,讓OpenResty成為工作中的得力助手。

您的朋友 羅劍鋒
2018年7月18日 于 北京 798園區
內容簡介:

OpenResty是一個基于Nginx的高性能Web平臺,能夠方便地搭建處理超高并發的動態Web應用、Web服務和動態網關。與現有的其他開發語言/環境相比,OpenResty有著高性能、高靈活性、易于學習和擴展等許多優點,近年來得到了越來越多開發者的關注,也有了很多成功的應用范例,如Adobe、Dropbox、GitHub等知名公司都基于OpenResty構建了自己的后端業務應用。OpenResty自帶完善的幫助文檔,開發社區也很活躍,但相關的學習資料——特別是中文資料較少。本書基于作者多年使用OpenResty的經驗,系統地闡述了OpenResty相關的各方面知識和要點,幫助讀者快速掌握這個高效易用的Web開發平臺,進而實現HTTP/HTTPS/TCP/UDP等多種網絡應用。本書結構嚴謹、詳略得當,具有較強的實用性,適合廣大軟件開發工程師、系統運維工程師、編程愛好者和計算機專業學生閱讀參考。

目錄:

第0章 導讀 1
0.1 關于本書 1
0.2 讀者對象 1
0.3 讀者要求 3
0.4 運行環境 3
0.5 本書的結構 3
0.6 如何閱讀本書 5
0.7 本書的源碼 5
第1章 總論 7
1.1 簡介 7
1.2 歷史 8
1.3 組成 9
1.4 版本 11
1.5 安裝 12
1.5.1 直接安裝 12
1.5.2 源碼安裝 13
1.5.3 定制安裝 13
1.6 目錄結構 14
1.7 啟停服務 15
1.8 組件管理工具 15
1.9 命令行工具 16
1.10 參考手冊 18
1.11 性能對比 18
1.12 應用架構 21
1.13 總結 22
第2章 Nginx平臺 23
2.1 簡介 23
2.2 進程模型 24
2.3 配置文件 25
2.4 變量 26
2.5 HTTP服務 27
2.5.1 server配置 28
2.5.2 location配置 28
2.6 TCP/UDP服務 29
2.7 反向代理 29
2.7.1 上游集群 30
2.7.2 代理轉發 31
2.8 運行日志 31
2.8.1 訪問日志 32
2.8.2 錯誤日志 32
2.9 總結 32
第3章 Lua語言 35
3.1 簡介 35
3.2 注釋 36
3.3 數據類型 36
3.4 字符串 37
3.5 變量 38
3.6 運算 39
3.6.1 算術運算 39
3.6.2 關系運算 39
3.6.3 邏輯運算 40
3.6.4 字符串運算 40
3.6.5 注意事項 41
3.7 控制語句 41
3.7.1 語句塊 41
3.7.2 賦值語句 41
3.7.3 分支語句 42
3.7.4 循環語句 43
3.8 函數 44
3.8.1 定義函數 44
3.8.2 參數和返回值 45
3.9 表 46
3.9.1 定義表 46
3.9.2 操作表 46
3.9.3 范圍循環 47
3.9.4 作為函數的參數 48
3.10 模塊 48
3.11 面向對象 49
3.11.1 基本特性 49
3.11.2 原型模式 50
3.11.3 self參數 51
3.12 標準庫 51
3.12.1 base庫 52
3.12.2 package庫 52
3.12.3 string庫 53
3.12.4 table庫 54
3.12.5 math庫 55
3.12.6 io庫 56
3.12.7 os庫 57
3.12.8 debug庫 57
3.12.9 使用技巧 57
3.13 高級特性 58
3.13.1 閉包 58
3.13.2 保護調用 58
3.13.3 可變參數 59
3.14 總結 59
第4章 LuaJIT環境 61
4.1 簡介 61
4.2 goto語句 62
4.3 jit庫 62
4.4 table庫 63
4.5 bit庫 63
4.6 ffi庫 65
4.7 編譯為字節碼 67
4.8 編譯為機器碼 68
4.9 總結 68
第5章 開發概述 71
5.1 應用示例 71
5.1.1 編碼實現 71
5.1.2 測試驗證 73
5.2 運行命令 74
5.3 目錄結構 75
5.4 配置指令 76
5.5 運行機制 77
5.5.1 處理階段 77
5.5.2 執行程序 79
5.5.3 定時任務 81
5.5.4 流程圖 81
5.6 功能接口 83
5.7 核心庫 83
5.8 應用開發流程 84
5.9 總結 85
第6章 基礎功能 87
6.1 系統信息 87
6.2 運行日志 88
6.3 時間日期 89
6.3.1 當前時間 90
6.3.2 時間戳 90
6.3.3 格式化時間戳 90
6.3.4 更新時間 91
6.3.5 睡眠 91
6.4 數據編碼 92
6.4.1 Base64 92
6.4.2 JSON 92
6.4.3 MessagePack 94
6.5 正則表達式 95
6.5.1 配置指令 95
6.5.2 匹配選項 96
6.5.3 匹配 96
6.5.4 查找 98
6.5.5 替換 99
6.5.6 切分 100
6.6 高速緩存 101
6.6.1 創建緩存 101
6.6.2 使用緩存 102
6.7 總結 103
第7章 HTTP服務 105
7.1 簡介 105
7.2 配置指令 106
7.3 常量 107
7.3.1 狀態碼 107
7.3.2 請求方法 108
7.4 變量 108
7.4.1 讀變量 108
7.4.2 寫變量 109
7.5 基本信息 110
7.5.1 請求來源 110
7.5.2 起始時間 110
7.5.3 請求頭 110
7.5.4 暫存數據 111
7.6 請求行 111
7.6.1 版本 112
7.6.2 方法 112
7.6.3 地址 112
7.6.4 參數 113
7.7 請求頭 114
7.7.1 讀取數據 114
7.7.2 改寫數據 115
7.8 請求體 115
7.8.1 丟棄數據 115
7.8.2 讀取數據 115
7.8.3 改寫數據 116
7.9 響應頭 117
7.9.1 改寫數據 117
7.9.2 發送數據 118
7.9.3 過濾數據 118
7.10 響應體 118
7.10.1 發送數據 118
7.10.2 過濾數據 119
7.11 手動收發數據 120
7.12 流程控制 121
7.12.1 重定向請求 121
7.12.2 終止請求 121
7.13 檢測斷連 122
7.14 綜合示例 123
7.15 總結 126
第8章 訪問后端 127
8.1 簡介 127
8.2 子請求 128
8.2.1 接口說明 128
8.2.2 應用示例 129
8.2.3 使用建議 130
8.3 協程套接字 131
8.3.1 配置指令 131
8.3.2 創建對象 132
8.3.3 超時設置 133
8.3.4 建立連接 133
8.3.5 復用連接 134
8.3.6 關閉連接 134
8.3.7 發送數據 135
8.3.8 接收數據 135
8.3.9 應用示例 136
8.4 DNS客戶端 137
8.4.1 創建對象 138
8.4.2 查詢地址 138
8.4.3 緩存地址 139
8.5 HTTP客戶端 140
8.5.1 創建對象 140
8.5.2 發送請求 140
8.6 WebSocket客戶端 142
8.6.1 創建對象 142
8.6.2 建立連接 143
8.6.3 關閉連接 143
8.6.4 復用連接 143
8.6.5 發送數據 144
8.6.6 接收數據 144
8.7 Redis客戶端 145
8.7.1 創建對象 145
8.7.2 建立連接 145
8.7.3 關閉連接 146
8.7.4 復用連接 146
8.7.5 執行命令 146
8.7.6 管道 147
8.7.7 腳本 148
8.8 MySQL客戶端 148
8.8.1 創建對象 149
8.8.2 建立連接 149
8.8.3 服務器版本號 150
8.8.4 關閉連接 150
8.8.5 復用連接 150
8.8.6 簡單查詢 150
8.8.7 高級查詢 152
8.8.8 防止SQL注入 152
8.9 總結 153
第9章 反向代理 155
9.1 簡介 155
9.2 上游集群 156
9.2.1 靜態服務器信息 157
9.2.2 動態服務器信息 158
9.2.3 服務器下線 159
9.2.4 當前上游集群 159
9.3 負載均衡 160
9.3.1 使用方式 160
9.3.2 功能接口 161
9.4 總結 162
第10章 高級功能 163
10.1 共享內存 163
10.1.1 配置指令 163
10.1.2 寫操作 164
10.1.3 讀操作 165
10.1.4 刪除操作 166
10.1.5 計數操作 166
10.1.6 隊列操作 166
10.1.7 過期操作 167
10.1.8 其他操作 168
10.2 定時器 168
10.2.1 配置指令 168
10.2.2 單次任務 169
10.2.3 周期任務 170
10.3 進程管理 171
10.3.1 進程類型 171
10.3.2 工作進程 172
10.3.3 監控進程 173
10.3.4 特權進程 173
10.4 輕量級線程 174
10.4.1 啟動線程 175
10.4.2 等待線程 175
10.4.3 掛起線程 176
10.4.4 停止線程 177
10.4.5 信號量 178
10.5 總結 179
第11章 HTTPS服務 181
11.1 簡介 181
11.1.1 密碼學 181
11.1.2 網絡協議 182
11.2 服務配置 184
11.3 應用開發 185
11.4 基本信息 185
11.4.1 協議版本號 185
11.4.2 主機名 186
11.4.3 地址 186
11.5 加載證書 187
11.5.1 清除證書 187
11.5.2 設置證書 187
11.5.3 設置私鑰 188
11.5.4 測試驗證 189
11.6 查驗證書 189
11.6.1 發送查詢 189
11.6.2 通知客戶端 191
11.7 會話復用 191
11.7.1 Session ID 191




11.7.2 Session Tickets 193
11.8 總結 193
第12章 HTTP2服務 195
12.1 簡介 195
12.2 服務配置 196
12.3 應用開發 197
12.4 測試驗證 197
12.5 總結 198
第13章 Websocket服務 199
13.1 簡介 199
13.2 服務配置 200
13.3 應用開發 200
13.4 總結 202
第14章 TCP/UDP服務 203
14.1 簡介 203
14.2 配置指令 204
14.3 運行機制 205
14.3.1 處理階段 205
14.3.2 執行程序 206
14.3.3 流程圖 206
14.4 功能接口 208
14.5 應用示例 208
14.6 總結 210
第15章 結束語 211
附錄A 推薦書目 215
附錄B 定制OpenResty 217
序: