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

歡迎光臨中圖網 請 | 注冊
> >>
深入理解Nginx模塊開發與架構解析

包郵 深入理解Nginx模塊開發與架構解析

作者:陶輝 著
出版社:機械工業出版社出版時間:2013-04-01
開本: 16開 頁數: 565
中 圖 價:¥50.0(5.6折) 定價  ¥89.0 登錄后可看到會員價
暫時缺貨 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>
買過本商品的人還買了

深入理解Nginx模塊開發與架構解析 版權信息

  • ISBN:9787111414780
  • 條形碼:9787111414780 ; 978-7-111-41478-0
  • 裝幀:一般膠版紙
  • 冊數:暫無
  • 重量:暫無
  • 所屬分類:>>

深入理解Nginx模塊開發與架構解析 本書特色

  阿里巴巴資深nginx專家撰寫,透徹解析nginx架構,詳解nginx模塊開發方法和技巧。

深入理解Nginx模塊開發與架構解析 內容簡介

  《深入理解nginx:模塊開發與架構解析》是阿里巴巴資深nginx技術專家嘔心瀝血之作,是作者多年的經驗結晶,也是目前市場上唯一一本通過還原nginx設計思想,剖析nginx架構來幫助讀者快速高效開發http模塊的圖書。   《深入理解nginx:模塊開發與架構解析》首先通過介紹官方nginx的基本用法和配置規則,幫助讀者了解一般nginx模塊的用法,然后重點介紹如何開發http模塊(含http過濾模塊)來得到定制的nginx,其中包括開發一個功能復雜的模塊所需要了解的各種知識,如nginx的基礎數據結構、配置項的解析、記錄日志的工具以及upstream、subrequest的使用方法等。在此基礎上,綜合nginx框架代碼分析nginx的架構,介紹其設計理念和技巧,進一步幫助讀者自由、有效地開發出功能豐富、性能一流的nginx模塊。

深入理解Nginx模塊開發與架構解析 目錄


前 言
**部分 nginx能幫我們做什么
第1章 研究nginx前的準備工作 
1.1 nginx是什么 
1.2 為什么選擇nginx 
1.3 準備工作 
1.3.1 linux操作系統 
1.3.2 使用nginx的**軟件 
1.3.3 磁盤目錄 
1.3.4 linux內核參數的優化 
1.3.5 獲取nginx源碼 
1.4 編譯安裝nginx 
1.5 configure詳解 
1.5.1 configure的命令參數 
1.5.2 configure執行流程 
1.5.3 configure生成的文件 
1.6 nginx的命令行控制 
1.7 小結 
第2章 nginx的配置 
2.1 運行中的nginx進程間的關系 
2.2 nginx配置的通用語法 
2.2.1 塊配置項 
2.2.2 配置項的語法格式 
2.2.3 配置項的注釋 
2.2.4 配置項的單位 
2.2.5 在配置中使用變量 
2.3 nginx服務的基本配置 
2.3.1 用于調試進程和定位問題的配置項 
2.3.2 正常運行的配置項 
2.3.3 優化性能的配置項 
2.3.4 事件類配置項 
2.4 用http核心模塊配置一個靜態web服務器 
2.4.1 虛擬主機與請求的分發 
2.4.2 文件路徑的定義 
2.4.3 內存及磁盤資源的分配 
2.4.4 網絡連接的設置 
2.4.5 mime類型的設置 
2.4.6 對客戶端請求的限制 
2.4.7 文件操作的優化 
2.4.8 對客戶端請求的特殊處理 
2.4.9 ngx_http_core_module模塊提供的變量 
2.5 用http proxy module配置一個反向代理服務器 
2.5.1 負載均衡的基本配置 
2.5.2 反向代理的基本配置 
2.6 小結 
第二部分 如何編寫http模塊
第3章 開發一個簡單的http模塊 
3.1 如何調用http模塊 
3.2 準備工作 
3.2.1 整型的封裝 
3.2.2 ngx_str_t數據結構 
3.2.3 ngx_list_t數據結構 
3.2.4 ngx_table_elt_t數據結構 
3.2.5 ngx_buf_t數據結構 
3.2.6 ngx_chain_t數據結構 
3.3 如何將自己的http模塊編譯進nginx 
3.3.1 config文件的寫法 
3.3.2 利用configure腳本將定制的模塊加入到nginx中 
3.3.3 直接修改makefile文件 
3.4 http模塊的數據結構 
3.5 定義自己的http模塊 
3.6 處理用戶請求 
3.6.1 處理方法的返回值 
3.6.2 獲取uri和參數 
3.6.3 獲取http頭部 
3.6.4 獲取http包體 
3.7 發送響應 
3.7.1 發送http頭部 
3.7.2 將內存中的字符串作為包體發送 
3.7.3 經典的“hello world”示例 
3.8 將磁盤文件作為包體發送 
3.8.1 如何發送磁盤中的文件 
3.8.2 清理文件句柄 
3.8.3 支持用戶多線程下載和斷點續傳 
3.9 用c++語言編寫http模塊 
3.9.1 編譯方式的修改 
3.9.2 程序中的符號轉換 
3.10 小結 
第4章 配置、error日志和請求上下文 
4.1 http配置項的使用場景 
4.2 怎樣使用http配置 
4.2.1 分配用于保存配置參數的數據結構 
4.2.2 設定配置項的解析方式 
4.2.3 使用14種預設方法解析配置項 
4.2.4 自定義配置項處理方法 
4.2.5 合并配置項 
4.3 http配置模型 
4.3.1 解析http配置的流程 
4.3.2 http配置模型的內存布局 
4.3.3 如何合并配置項 
4.3.4 預設配置項處理方法的工作原理 
4.4 error日志的用法 
4.5 請求的上下文 
4.5.1 上下文與全異步web服務器的關系 
4.5.2 如何使用http上下文 
4.5.3 http框架如何維護上下文結構 
4.6 小結 
第5章 訪問第三方服務 
5.1 upstream的使用方式 
5.1.1 ngx_http_upstream_t結構體 
5.1.2 設置upstream的限制性參數 
5.1.3 設置需要訪問的第三方服務器地址 
5.1.4 設置回調方法 
5.1.5 如何啟動upstream機制 
5.2 回調方法的執行場景 
5.2.1 create_request回調方法 
5.2.2 reinit_request回調方法 
5.2.3 finalize_request回調方法 
5.2.4 process_header回調方法 
5.2.5 rewrite_redirect回調方法 
5.2.6 input_filter_init與input_filter回調方法 
5.3 使用upstream的示例 
5.3.1 upstream的各種配置參數 
5.3.2 請求上下文 
5.3.3 在create_request方法中構造請求 
5.3.4 在process_header方法中解析包頭 
5.3.5 在finalize_request方法中釋放資源 
5.3.6 在ngx_http_mytest_handler方法中啟動upstream 
5.4 subrequest的使用方式 
5.4.1 配置子請求的處理方式 
5.4.2 實現子請求處理完畢時的回調方法 
5.4.3 處理父請求被重新激活后的回調方法 
5.4.4 啟動subrequest子請求 
5.5 subrequest執行過程中的主要場景 
5.5.1 如何啟動subrequest 
5.5.2 如何轉發多個子請求的響應包體 
5.5.3 子請求如何激活父請求 
5.6 subrequest使用的例子 
5.6.1 配置文件中子請求的設置 
5.6.2 請求上下文 
5.6.3 子請求結束時的處理方法 
5.6.4 父請求的回調方法 
5.6.5 啟動subrequest 
5.7 小結 
第6章 開發一個簡單的http過濾模塊 
6.1 過濾模塊的意義 
6.2 過濾模塊的調用順序 
6.2.1 過濾鏈表是如何構成的 
6.2.2 過濾鏈表的順序 
6.2.3 官方默認http過濾模塊的功能簡介 
6.3 http過濾模塊的開發步驟 
6.4 http過濾模塊的簡單例子 
6.4.1 如何編寫config文件 
6.4.2 配置項和上下文 
6.4.3 定義http過濾模塊 
6.4.4 初始化http過濾模塊 
6.4.5 處理請求中的http頭部 
6.4.6 處理請求中的http包體 
6.5 小結 
第7章 nginx提供的高級數據結構 
7.1 nginx提供的高級數據結構概述 
7.2 ngx_queue_t雙向鏈表 
7.2.1 為什么設計ngx_queue_t雙向鏈表 
7.2.2 雙向鏈表的使用方法 
7.2.3 使用雙向鏈表排序的例子 
7.2.4 雙向鏈表是如何實現的 
7.3 ngx_array_t動態數組 
7.3.1 為什么設計ngx_array_t動態數組 
7.3.2 動態數組的使用方法 
7.3.3  使用動態數組的例子 
7.3.4 動態數組的擴容方式 
7.4 ngx_list_t單向鏈表 
7.5 ngx_rbtree_t紅黑樹 
7.5.1 為什么設計ngx_rbtree_t紅黑樹 
7.5.2 紅黑樹的特性 
7.5.3 紅黑樹的使用方法 
7.5.4 使用紅黑樹的簡單例子 
7.5.5 如何自定義添加成員方法 
7.6 ngx_radix_tree_t基數樹 
7.6.1 ngx_radix_tree_t基數樹的原理 
7.6.2 基數樹的使用方法 
7.6.3 使用基數樹的例子 
7.7 支持通配符的散列表 
7.7.1 ngx_hash_t基本散列表 
7.7.2 支持通配符的散列表 
7.7.3 帶通配符散列表的使用例子 
7.8 小結 
第三部分 深入nginx
第8章 nginx基礎架構 
8.1 web服務器設計中的關鍵約束 
8.2 nginx的架構設計 
8.2.1 優秀的模塊化設計 
8.2.2 事件驅動架構 
8.2.3 請求的多階段異步處理 
8.2.4 管理進程、多工作進程設計 
8.2.5 平臺無關的代碼實現 
8.2.6 內存池的設計 
8.2.7 使用統一管道過濾器模式的http過濾模塊 
8.2.8 其他一些用戶模塊 
8.3 nginx框架中的核心結構體ngx_cycle_t 
8.3.1 ngx_listening_t結構體 
8.3.2 ngx_cycle_t結構體 
8.3.3 ngx_cycle_t支持的方法 
8.4 nginx啟動時框架的處理流程 
8.5 worker進程是如何工作的 
8.6 master進程是如何工作的 
8.7 小結 
第9章 事件模塊 
9.1 事件處理框架概述 
9.2 nginx事件的定義 
9.3 nginx連接的定義 
9.3.1 被動連接 
9.3.2 主動連接 
9.3.3 ngx_connection_t連接池 
9.4 ngx_events_module核心模塊 
9.4.1 如何管理所有事件模塊的配置項 
9.4.2 管理事件模塊 
9.5 ngx_event_core_module事件模塊 
9.6 epoll事件驅動模塊 
9.6.1 epoll的原理和用法 
9.6.2 如何使用epoll 
9.6.3 ngx_epoll_module模塊的實現 
9.7 定時器事件 
9.7.1 緩存時間的管理 
9.7.2 緩存時間的精度 
9.7.3 定時器的實現 
9.8 事件驅動框架的處理流程 
9.8.1 如何建立新連接 
9.8.2 如何解決“驚群”問題 
9.8.3 如何實現負載均衡 
9.8.4 post事件隊列 
9.8.5 ngx_process_events_and_timers流程 
9.9 文件的異步io 
9.9.1 linux內核提供的文件異步io 
9.9.2 ngx_epoll_module模塊中實現的針對文件的異步io 
9.10 小結 
第10章 http框架的初始化 
10.1 http框架概述 
10.2 管理http模塊的配置項 
10.2.1 管理main級別下的配置項 
10.2.2 管理server級別下的配置項 
10.2.3 管理location級別下的配置項 
10.2.4 不同級別配置項的合并 
10.3 監聽端口的管理 
10.4 server的快速檢索 
10.5 location的快速檢索 
10.6 http請求的11個處理階段 
10.6.1 http處理階段的普適規則 
10.6.2 ngx_http_post_read_phase階段 
10.6.3 ngx_http_server_rewrite_phase階段 
10.6.4 ngx_http_find_config_phase階段 
10.6.5 ngx_http_rewrite_phase階段 
10.6.6 ngx_http_post_rewrite_phase階段 
10.6.7 ngx_http_preaccess_phase階段 
10.6.8 ngx_http_access_phase階段 
10.6.9 ngx_http_post_access_phase階段 
10.6.10 ngx_http_try_files_phase階段 
10.6.11 ngx_http_content_phase階段 
10.6.12 ngx_http_log_phase階段 
10.7 http框架的初始化流程 
10.8 小結 
第11章 http框架的執行流程 
11.1 http框架執行流程概述 
11.2 新連接建立時的行為 
11.3 **次可讀事件的處理 
11.4 接收http請求行 
11.5 接收http頭部 
11.6 處理http請求 
11.6.1 ngx_http_core_generic_phase 
11.6.2 ngx_http_core_rewrite_phase 
11.6.3 ngx_http_core_access_phase 
11.6.4 ngx_http_core_content_phase 
11.7 subrequest與post請求 
11.8 處理http包體 
11.8.1 接收包體 
11.8.2 放棄接收包體 
11.9 發送http響應 
11.9.1 ngx_http_send_header 
11.9.2 ngx_http_output_filter 
11.9.3 ngx_http_writer 
11.10 結束http請求 
11.10.1 ngx_http_close_connection 
11.10.2 ngx_http_free_request 
11.10.3 ngx_http_close_request 
11.10.4 ngx_http_finalize_connection 
11.10.5 ngx_http_terminate_request 
11.10.6 ngx_http_finalize_request 
11.11 小結 
第12章 upstream機制的設計與實現 
12.1 upstream機制概述 
12.1.1 設計目的 
12.1.2 ngx_http_upstream_t數據結構的意義 
12.1.3 ngx_http_upstream_conf_t配置結構體 
12.2 啟動upstream 
12.3 與上游服務器建立連接 
12.4 發送請求到上游服務器 
12.5 接收上游服務器的響應頭部 
12.5.1 應用層協議的兩段劃分方式 
12.5.2 處理包體的3種方式 
12.5.3 接收響應頭部的流程 
12.6 不轉發響應時的處理流程 
12.6.1 input_filter方法的設計 
12.6.2 默認的input_filter方法 
12.6.3 接收包體的流程 
12.7 以下游網速優先來轉發響應 
12.7.1 轉發響應的包頭 
12.7.2 轉發響應的包體 
12.8 以上游網速優先來轉發響應 
12.8.1 ngx_event_pipe_t結構體的意義 
12.8.2 轉發響應的包頭 
12.8.3 轉發響應的包體 
12.8.4 ngx_event_pipe_read_upstream方法 
12.8.5 ngx_event_pipe_write_to_downstream方法 
12.9 結束upstream請求 
12.10 小結 
第13章 郵件代理模塊 
13.1 郵件代理服務器的功能 
13.2 郵件模塊的處理框架 
13.2.1 一個請求的8個獨立處理階段 
13.2.2 郵件類模塊的定義 
13.2.3 郵件框架的初始化 
13.3 初始化請求 
13.3.1 描述郵件請求的ngx_mail_session_t結構體 
13.3.2 初始化郵件請求的流程 
13.4 接收并解析客戶端請求 
13.5 郵件認證 
13.5.1 ngx_mail_auth_http_ctx_t結構體 
13.5.2 與認證服務器建立連接 
13.5.3 發送請求到認證服務器 
13.5.4 接收并解析響應 
13.6 與上游郵件服務器間的認證交互 
13.6.1 ngx_mail_proxy_ctx_t結構體 
13.6.2 向上游郵件服務器發起連接 
13.6.3 與郵件服務器認證交互的過程 
13.7 透傳上游郵件服務器與客戶端間的流 
13.8 小結 
第14章 進程間的通信機制 
14.1 概述 
14.2 共享內存 
14.3 原子操作 
14.3.1 不支持原子庫下的原子操作 
14.3.2 x86架構下的原子操作 
14.3.3 自旋鎖 
14.4 nginx頻道 
14.5 信號 
14.6 信號量 
14.7 文件鎖 
14.8 互斥鎖 
14.8.1 文件鎖實現的ngx_shmtx_t鎖 
14.8.2 原子變量實現的ngx_shmtx_t鎖 
14.9 小結 
展開全部

深入理解Nginx模塊開發與架構解析 作者簡介

  陶輝,思科后臺工程師,從事服務端開發近十年,擅長Linux分布式架構下的海量數據處理,擅長C/C++開發的高性能高吞吐量網絡服務,曾任思科DMS后臺架構設計工作,曾在騰訊QQ空間后臺個人信息中心、個人檔、漂流瓶、空間日志、花藤、好友買賣等項目中擔任服務器設計與開發工作,曾在華為中央軟件部綜合網管平臺擔任北向接口設計開發工作。擁有豐富的Linux高性能服務器開發經驗,豐富的云存儲系統開發經驗,目前關注云文檔管理系統和Nginx的再開發。

商品評論(0條)
暫無評論……
書友推薦
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 智能汉显全自动量热仪_微机全自动胶质层指数测定仪-鹤壁市科达仪器仪表有限公司 | 耙式干燥机_真空耙式干燥机厂家-无锡鹏茂化工装备有限公司 | 塑料检查井_双扣聚氯乙烯增强管_双壁波纹管-河南中盈塑料制品有限公司 | 南京泽朗生物科技有限公司-液体饮料代加工_果汁饮料代加工_固体饮料代加工 | 华禹护栏|锌钢护栏_阳台护栏_护栏厂家-华禹专注阳台护栏、楼梯栏杆、百叶窗、空调架、基坑护栏、道路护栏等锌钢护栏产品的生产销售。 | 冲锋衣滑雪服厂家-冲锋衣定制工厂-滑雪服加工厂-广东睿牛户外(S-GERT) | 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司| 【ph计】|在线ph计|工业ph计|ph计厂家|ph计价格|酸度计生产厂家_武汉吉尔德科技有限公司 | 缠绕机|缠绕膜包装机|缠绕包装机-上海晏陵智能设备有限公司 | 北京网站建设首页,做网站选【优站网】,专注北京网站建设,北京网站推广,天津网站建设,天津网站推广,小程序,手机APP的开发。 | 驾驶式洗地机/扫地机_全自动洗地机_工业洗地机_荣事达工厂官网 | 高通量组织研磨仪-多样品组织研磨仪-全自动组织研磨仪-研磨者科技(广州)有限公司 | 电镀电源整流器_高频电解电源_单脉双脉冲电源 - 东阳市旭东电子科技 | 成都思迪机电技术研究所-四川成都思迪编码器 | 冷轧机|两肋冷轧机|扁钢冷轧机|倒立式拉丝机|钢筋拔丝机|收线机-巩义市华瑞重工机械制造有限公司 | 广州活动策划公司-15+年专业大型公关活动策划执行管理经验-睿阳广告 | 镀锌方管,无缝方管,伸缩套管,方矩管_山东重鑫致胜金属制品有限公司 | 磁力抛光机_磁力研磨机_磁力去毛刺机-冠古设备厂家|维修|租赁【官网】 | 合肥宠物店装修_合肥宠物美容院装修_合肥宠物医院设计装修公司-安徽盛世和居装饰 | 滚筒烘干机_转筒烘干机_滚筒干燥机_转筒干燥机_回转烘干机_回转干燥机-设备生产厂家 | UV固化机_UVLED光固化机_UV干燥机生产厂家-上海冠顶公司专业生产UV固化机设备 | 寮步纸箱厂_东莞纸箱厂 _东莞纸箱加工厂-东莞市寮步恒辉纸制品厂 | 拉伸膜,PE缠绕膜,打包带,封箱胶带,包装膜厂家-东莞宏展包装 | HEYL硬度计量泵-荧光法在线溶解氧仪-净时测控技术(上海)有限公司 | 抓斗式清污机|螺杆式|卷扬式启闭机|底轴驱动钢坝|污水处理闸门-方源水利机械 | 德国UST优斯特氢气检漏仪-德国舒赐乙烷检测仪-北京泽钏 | 碳钢法兰厂家,非标法兰,定制异型,法兰生产厂家-河北九瑞管道 | 桨叶搅拌机_螺旋挤压/方盒旋切造粒机厂家-无锡市鸿诚输送机械有限公司 | ASA膜,ASA共挤料,篷布色母料-青岛未来化学有限公司 | 厂房出租_厂房出售_产业园区招商_工业地产 - 中工招商网 | 艺术漆十大品牌_艺术涂料加盟代理_蒙太奇艺术涂料厂家品牌|艺术漆|微水泥|硅藻泥|乳胶漆 | ETFE膜结构_PTFE膜结构_空间钢结构_膜结构_张拉膜_浙江萬豪空间结构集团有限公司 | 3dmax渲染-效果图渲染-影视动画渲染-北京快渲科技有限公司 | 沥青灌缝机_路面灌缝机_道路灌缝机_沥青灌缝机厂家_济宁萨奥机械有限公司 | 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 全国国际学校排名_国际学校招生入学及学费-学校大全网 | 恒温水槽与水浴锅-上海熙浩实业有限公司 | 电力测功机,电涡流测功机,磁粉制动器,南通远辰曳引机测试台 | 干式磁选机_湿式磁选机_粉体除铁器-潍坊国铭矿山设备有限公司 | 耐腐蚀泵,耐腐蚀真空泵,玻璃钢真空泵-淄博华舜耐腐蚀真空泵有限公司 | 北京银联移动POS机办理_收银POS机_智能pos机_刷卡机_收银系统_个人POS机-谷骐科技【官网】 |