中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >
OPENRESTY完全開發指南:構建百萬級別并發的WEB應用

包郵 OPENRESTY完全開發指南:構建百萬級別并發的WEB應用

作者:羅劍鋒
出版社:電子工業出版社出版時間:2017-03-01
開本: 其他 頁數: 228
中 圖 價:¥27.2(3.9折) 定價  ¥69.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
溫馨提示:5折以下圖書主要為出版社尾貨,大部分為全新(有塑封/無塑封),個別圖書品相8-9成新、切口
有劃線標記、光盤等附件不全詳細品相說明>>
本類五星書更多>

OPENRESTY完全開發指南:構建百萬級別并發的WEB應用 版權信息

OPENRESTY完全開發指南:構建百萬級別并發的WEB應用 本書特色

適讀人群 :追求高性能的Web應用研發工程師 微服務、API網關、Web應用防火墻的研發工程師 通用的HTTP/TCP/UDP應用服務研發工程師 基于OpenResty/Nginx深度定制的研發工程師 工作在Linux系統上的的運維、測試工程師 計算機編程愛好者 本書由一線技術專家基于自己的工作經驗精心撰寫而成,主要包括OpenResty的組成、運行平臺、工作語言、內部運行機制、功能接口、各種服務的配置和開發方式。 本書作者技術功底強,寫作水平高,寫作的圖書不唯市場論,不唯風頭論,只寫自己一線工作經驗,對于自己的技術書籍出版也從來都是一絲不茍,一心只為大家奉獻優質、實用且實戰的優秀技術圖書!

OPENRESTY完全開發指南:構建百萬級別并發的WEB應用 內容簡介

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

OPENRESTY完全開發指南:構建百萬級別并發的WEB應用 目錄

第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


展開全部

OPENRESTY完全開發指南:構建百萬級別并發的WEB應用 節選

  開發概述  由于Nginx的模塊化架構具有良好的擴展性,OpenResty實現了ngx_lua和stream_ lua等模塊,把Lua/LuaJIT完美地整合進了Nginx,從而讓我們能夠在Nginx內部的多個關鍵節點里嵌入Lua腳本,用Lua這種便捷的語言來實現復雜的HTTP/TCP/UDP業務邏輯,同時依然保持著高度的并發服務能力。  本章將先從一個簡單的應用服務例子開始,從宏觀的層次介紹開發OpenResty應用的基本流程、配置指令、運行機制等重要知識。  5.1 應用示例  在第3章和第4章我們學習了OpenResty里使用的Lua語言,也編寫了一些Lua程序,但它們都是使用resty-cli命令行工具運行的,并不能對外提供服務。  本節將使用OpenResty開發出一個簡單的Web服務:“Hello World”。  5.1.1 編碼實現  與其他的編程語言不同,使用OpenResty開發服務應用首先要做的并不是編寫程序代碼,而是要編寫配置文件。這是因為OpenResty使用了Nginx作為運行平臺,Nginx本身需要使用配置文件來定義Web服務。這里我們將配置文件命名為“hello.conf”。  基本配置  作為Web服務,我們應該依據實際情況決定應用的服務能力,例如開多少個worker進程、可能的*大并發數量等。  “Hello World”應用的功能很簡單,所以我們只開啟一個worker進程,并發連接*多512個,其他的都使用默認配置。  在配置文件hello.conf里要使用的指令是“worker_processes”和“worker_ connections”,如下:[ 其實worker_processes和worker_connections都可以不寫,默認值就是1個worker進程和*多512個連接,但配置塊events{}不能省略。]  worker_processes 1; #設置worker進程的數量為1  events { #設置并發連接需要在events塊里   worker_connections 512; #單個worker的*大并發連接數  }   服務配置  接下來需要決定Web服務的協議和端口號,我們使用*常用的HTTP協議,端口80,域名任意。  配置HTTP服務需要編寫http{}配置塊,并在里面使用指令server、listen、server_ name依次定義端口號和域名:  http { #定義HTTP服務   server { #server塊,定義Web服務   listen 80; #服務使用的是80端口   server_name *.*; #HTTP服務對應任意域名   } #server塊結束  } #http塊結束  處理請求  有了Web服務,我們還要有處理請求時的URI入口。因為“Hello World”應用總是返回唯一的結果,所以應當使用“location /”來匹配所有的URI:  http { #定義HTTP服務   server { #server塊,定義Web服務   listen 80; #服務使用的是80端口   server_name *.*; #HTTP服務對應任意域名      location / {} #location塊,匹配任意URI   } #server塊結束  } #http塊結束  應用程序  經過前面的三個步驟,現在Web服務的基本框架已經建立起來了,缺的只是服務的內容,這是要真正編寫Lua代碼的地方。  OpenResty提供一個專用指令“content_by_lua_block”,可以在配置文件里書寫Lua代碼,產生響應內容:  content_by_lua_block { -- 我們的**個OpenResty應用   ngx.print("hello, world") -- 打印經典的“hello, world”  } #Lua代碼結束  指令里調用了OpenResty的功能接口ngx.print,向客戶端輸出了“hello, world”字符串。  完整代碼  這樣,我們的**個OpenResty應用就完成了,完整的代碼如下:  worker_processes 1; #設置worker進程的數量為1  events { #設置并發連接需要在events塊里   worker_connections 512; #單個worker的*大連接數  }      http { #定義HTTP服務   server { #server塊,定義Web服務   listen 80; #服務使用的是80端口   server_name *.*; #HTTP服務對應任意域名      location / { #location塊,匹配任意URI   content_by_lua_block { -- 我們的**個OpenResty應用   ngx.print("hello, world") -- 打印經典的“hello, world”   } #Lua代碼結束   } #location塊結束   } #server塊結束  } #http塊結束  5.1.2 測試驗證  OpenResty應用開發完成之后不需要編譯,可以部署后直接運行對外提供Web服務。但注意不能簡單地執行“bin/openresty”,那將會使用OpenResty默認的配置文件而不是我們剛編寫的配置文件。  啟動應用需要使用“-c”參數,讓OpenResty以指定的配置文件運行:  /usr/local/openresty/bin/openresty -c "`pwd`/hello.conf"  現在就可以使用curl來驗證“Hello World”應用的運行情況了:  curl -v 127.0.0.1 #curl命令發送HTTP請求  curl -v 127.0.0.1/hello #總會得到“hello, world”  停止應用時同樣需要加上“-c”參數:  /usr/local/openresty/bin/openresty -c "`pwd`/hello.conf" -s stop  ……

OPENRESTY完全開發指南:構建百萬級別并發的WEB應用 作者簡介

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

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 臭氧老化试验箱,高低温试验箱,恒温恒湿试验箱,防水试验设备-苏州亚诺天下仪器有限公司 | 展厅设计公司,展厅公司,展厅设计,展厅施工,展厅装修,企业展厅,展馆设计公司-深圳广州展厅设计公司 | 纸布|钩编布|钩针布|纸草布-莱州佳源工艺纸布厂 | 吉祥新世纪铝塑板_生产铝塑板厂家_铝塑板生产厂家_临沂市兴达铝塑装饰材料有限公司 | 自动化展_机器人展_机床展_工业互联网展_广东佛山工博会 | 环保袋,无纺布袋,无纺布打孔袋,保温袋,环保袋定制,环保袋厂家,环雅包装-十七年环保袋定制厂家 | 手机游戏_热门软件app下载_好玩的安卓游戏下载基地-吾爱下载站 | 中央空调温控器_风机盘管温控器_智能_液晶_三速开关面板-中央空调温控器厂家 | 防火板_饰面耐火板价格、厂家_品牌认准格林雅 | 液压升降货梯_导轨式升降货梯厂家_升降货梯厂家-河南东圣升降设备有限公司 | 洛阳防爆合格证办理-洛阳防爆认证机构-洛阳申请国家防爆合格证-洛阳本安防爆认证代办-洛阳沪南抚防爆电气技术服务有限公司 | 大通天成企业资质代办_承装修试电力设施许可证_增值电信业务经营许可证_无人机运营合格证_广播电视节目制作许可证 | 厂厂乐-汇聚海量采购信息的B2B微营销平台-厂厂乐官网 | 阿里巴巴诚信通温州、台州、宁波、嘉兴授权渠道商-浙江联欣科技提供阿里会员办理 | 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | MVR蒸发器厂家-多效蒸发器-工业废水蒸发器厂家-康景辉集团官网 | 智能风向风速仪,风速告警仪,数字温湿仪,综合气象仪(气象五要素)-上海风云气象仪器有限公司 | CCE素质教育博览会 | CCE素博会 | 教育展 | 美育展 | 科教展 | 素质教育展 | PU树脂_水性聚氨酯树脂_聚氨酯固化剂_聚氨酯树脂厂家_宝景化工 | 广州展览设计公司_展台设计搭建_展位设计装修公司-众派展览装饰 广州展览制作工厂—[优简]直营展台制作工厂_展会搭建资质齐全 | 平面钻,法兰钻,三维钻-山东兴田阳光智能装备股份有限公司 | 横河变送器-横河压力变送器-EJA变送器-EJA压力变送器-「泉蕴仪表」 | 彭世修脚_修脚加盟_彭世修脚加盟_彭世足疗加盟_足疗加盟连锁_彭世修脚技术培训_彭世足疗 | PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 北京网站建设首页,做网站选【优站网】,专注北京网站建设,北京网站推广,天津网站建设,天津网站推广,小程序,手机APP的开发。 | 柔软云母板-硬质-水位计云母片组件-首页-武汉长丰云母绝缘材料有限公司 | 房在线-免费房产管理系统软件-二手房中介房屋房源管理系统软件 | 引领中高档酒店加盟_含舍·美素酒店品牌官网 | 微学堂-电动能源汽车评测_电动车性能分享网 | 步进电机_agv电机_伺服马达-伺服轮毂电机-和利时电机 | 换网器_自动换网器_液压换网器--郑州海科熔体泵有限公司 | 软文推广发布平台_新闻稿件自助发布_媒体邀约-澜媒宝 | 可程式恒温恒湿试验箱|恒温恒湿箱|恒温恒湿试验箱|恒温恒湿老化试验箱|高低温试验箱价格报价-广东德瑞检测设备有限公司 | 新材料分散-高速均质搅拌机-超声波分散混合-上海化烁智能设备有限公司 | X光检测仪_食品金属异物检测机_X射线检测设备_微现检测 | 湖南长沙商标注册专利申请,长沙公司注册代理记账首选美创! | 小型玉石雕刻机_家用玉雕机_小型万能雕刻机_凡刻雕刻机官网 | 天津试验仪器-电液伺服万能材料试验机,恒温恒湿标准养护箱,水泥恒应力压力试验机-天津鑫高伟业科技有限公司 | 小程序开发公司-小程序制作-微信小程序开发-小程序定制-咏熠软件 | 药品冷藏箱厂家_低温冰箱_洁净工作台-济南欧莱博电子商务有限公司官网 | 航空障碍灯_高中低光强航空障碍灯_民航许可认证航空警示灯厂家-东莞市天翔航天科技有限公司 |