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

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

《OpenResty完全開發指南:構建百萬級別並發的Web套用 》是2018年電子工業出版社出版的圖書、作者是羅劍鋒。

基本介紹

  • 中文名:OpenResty完全開發指南:構建百萬級別並發的Web套用
  • 作者:羅劍鋒
  • 出版社:電子工業出版社
  • 出版時間:2018年9月
  • 頁數:228 頁 
  • 定價:69 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787121348969
內容簡介,圖書目錄,作者簡介,

內容簡介

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

作者簡介

羅劍鋒(網名Chrono)1996年就讀於東北財經大學1997年開始接觸C/C 1998年參加計算機軟體專業技術資格和水平考試,獲高級程式設計師資質2003年畢業於北京理工大學,獲計算機專業碩士學位主要研究方向為C/C 、設計模式、高性能網路伺服器開發業餘愛好是閱讀、旅遊、欣賞音樂和電影

熱門詞條

聯絡我們