前言
一部分 Nginx操作基礎(chǔ)
1章 Nginx高效服務(wù)器 2
1.1 Nginx的特點 2
1.2 Nginx的安裝 3
1.3 configure命令參數(shù) 7
1.4 小結(jié) 12
2章 數(shù)據(jù)庫的基本操作 13
2.1 Nginx應(yīng)用中的數(shù)據(jù)庫 13
2.2 MySQL關(guān)系型數(shù)據(jù)庫 15
2.2.1 yum安裝方法 16
2.2.2 使用mysql測試服務(wù) 18
2.2.3 MySQL文件分布 19
2.2.4 數(shù)據(jù)庫操作 19
2.3 Redis內(nèi)存數(shù)據(jù)庫 22
2.3.1 Redis安裝 22
2.3.2 啟動Redis服務(wù) 23
2.3.3 Redis 配置 23
2.3.4 參數(shù)說明 26
2.3.5 數(shù)據(jù)類型 29
2.4 PostgreSQL關(guān)系型數(shù)據(jù)庫 31
2.5 Memcached內(nèi)存數(shù)據(jù)庫 33
2.5.1 Memcached安裝 34
2.5.2 連接編輯 34
2.5.3 管理Memcached服務(wù) 35
2.5.4 Memcached命令 37
2.6 MongoDB分布式NoSQL數(shù)據(jù)庫 42
2.6.1 MongoDB安裝 43
2.6.2 mongod.conf配置說明 45
2.7 小結(jié) 48
3章 OpenResty 49
3.1 OpenResty:概述 49
3.2 OpenResty的組成 50
3.3 OpenResty的安裝 52
3.4 Nginx多實例 54
3.5 小結(jié) 54
4章 Nginx核心技術(shù) 55
4.1 Nginx設(shè)計目標 55
4.2 Nginx架構(gòu) 57
4.2.1 事件驅(qū)動 57
4.2.2 異步多階段處理 59
4.2.3 模塊化設(shè)計 61
4.2.4 管理進程、工作進程設(shè)計 63
4.2.5 內(nèi)存池 65
4.2.6 連接池 66
4.2.7 時間緩存 66
4.2.8 延遲關(guān)閉 67
4.2.9 跨平臺 67
4.2.10 HTTP模塊管道過濾模式 67
4.2.11 keepalive 68
4.2.12 pipeline 69
4.3 小結(jié) 69
5章 Nginx的工作流程 70
5.1 Nginx的啟動流程 70
5.2 管理進程的工作流程 72
5.3 工作進程的工作流程 75
5.4 配置加載流程 76
5.5 HTTP框架初始化流程 79
5.6 HTTP模塊調(diào)用流程 81
5.7 HTTP請求處理流程 82
5.8 小結(jié) 83
二部分 Lua腳本語言
6章 Lua教程 86
6.1 Lua基礎(chǔ) 86
6.1.1 Lua的特性 86
6.1.2 Lua的應(yīng)用場景 87
6.1.3 安裝Lua環(huán)境 87
6.2 Lua基本語法 88
6.2.1 一個Lua程序 88
6.2.2 注釋 89
6.2.3 標識符 90
6.2.4 關(guān)鍵詞 90
6.2.5 全局變量 90
6.3 Lua的數(shù)據(jù)類型 90
6.4 Lua變量 96
6.4.1 賦值語句 96
6.4.2 索引 97
6.5 Lua循環(huán) 98
6.6 Lua流程控制 98
6.7 Lua函數(shù) 99
6.7.1 函數(shù)的定義 99
6.7.2 多返回值 100
6.7.3 可變參數(shù) 101
6.8 Lua運算符 101
6.8.1 算術(shù)運算符 102
6.8.2 關(guān)系運算符 102
6.8.3 邏輯運算符 103
6.8.4 其他運算符 104
6.8.5 運算符的優(yōu)先級 105
6.9 Lua字符串 106
6.10 Lua數(shù)組 107
6.10.1 一維數(shù)組 107
6.10.2 多維數(shù)組 108
6.11 Lua迭代器 109
6.11.1 泛型for迭代器 109
6.11.2 無狀態(tài)的迭代器 110
6.11.3 多狀態(tài)的迭代器 111
6.12 Lua表 112
6.13 Lua模塊與包 113
6.13.1 require函數(shù) 114
6.13.2 加載機制 115
6.13.3 C包 115
6.14 Lua元表 116
6.14.1 _index元方法 117
6.14.2 _newindex元方法 118
6.14.3 為表添加運算符 119
6.14.4 _call元方法 119
6.14.5 _tostring元方法 120
6.15 Lua協(xié)同程序 121
6.15.1 基本語法 121
6.15.2 生產(chǎn)者–消費者問題 124
6.16 Lua錯誤處理 125
6.16.1 語法錯誤 125
6.16.2 運行錯誤 125
6.16.3 錯誤處理 126
6.16.4 error函數(shù) 126
6.16.5 pcall、xpcall、debug 127
6.17 Lua調(diào)試 128
6.18 Lua垃圾回收 130
6.19 Lua面向?qū)ο?131
6.19.1 Lua中面向?qū)ο?132
6.19.2 Lua繼承 134
6.20 Lua數(shù)據(jù)庫訪問 136
6.21 小結(jié) 137
7章 Lua通用庫 138
7.1 字符串庫 138
7.2 表庫 141