《深入理解Nginx:模块开发与架构解析》一第3章 开发一个简单的HTTP模块 3.0

本文涉及的产品
云解析 DNS,旗舰版 1个月
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
简介: 本节书摘来自华章出版社《深入理解Nginx:模块开发与架构解析》一书中的第3章,第3.0节,作者 陶辉,更多章节内容可以访问云栖社区“华章计算机”公众号查看
+关注继续查看

第3章 开发一个简单的HTTP模块

当通过开发HTTP模块来实现产品功能时,是可以完全享用Nginx的优秀设计所带来的、与官方模块相同的高并发特性的。不过,如何开发一个充满异步调用、无阻塞的HTTP模块呢?首先,需要把程序嵌入到Nginx中,也就是说,最终编译出的二进制程序Nginx要包含我们的代码(见3.3节);其次,这个全新的HTTP模块要能介入到HTTP请求的处理流程中(具体参见3.1节、3.4节、3.5节)。满足上述两个前提后,我们的模块才能开始处理HTTP请求,但在开始处理请求前还需要先了解一些Nginx框架定义的数据结构(见3.2节),这是后面必须要用到的;正式处理请求时,还要可以获得Nginx框架接收、解析后的用户请求信息(见3.6节);业务执行完毕后,则要考虑发送响应给用户(见3.7节),包括将磁盘中的文件以HTTP包体的形式发送给用户(见3.8节)。
本章最后会讨论如何用C++语言来编写HTTP模块,这虽然不是Nginx官方倡导的方式,但C++向前兼容C语言,使用C++语言开发的模块还是可以很容易地嵌入到Nginx中。本章不会深入探讨HTTP模块与Nginx的各个核心模块是如何配合工作的,而且这部分提到的每个接口将只涉及用法而不涉及实现原理,在第3部分我们才会进一步阐述本章提到的许多接口是如何实现异步访问的。

相关文章
|
1月前
|
负载均衡 Unix 应用服务中间件
深入解析HTTP反向代理:探索NGINX的神奇之处
深入解析HTTP反向代理:探索NGINX的神奇之处
|
1月前
|
负载均衡 应用服务中间件 Linux
Nginx系列教程(12) - HTTP动态负载均衡(二)
Nginx系列教程(12) - HTTP动态负载均衡(二)
42 1
|
1月前
|
负载均衡 Dubbo 应用服务中间件
Nginx系列教程(11) - HTTP动态负载均衡(一)
Nginx系列教程(11) - HTTP动态负载均衡(一)
20 0
|
1月前
|
应用服务中间件 nginx
Nginx配置HTTPS
Nginx配置HTTPS
|
1月前
|
前端开发 Java 应用服务中间件
nginx代理https后,spring mvc web应用redirect https变成http
nginx代理https后,spring mvc web应用redirect https变成http
|
1月前
|
应用服务中间件 网络安全 nginx
Nginx配置同时访问http和https
Nginx配置同时访问http和https
|
2月前
|
监控 负载均衡 网络协议
Nginx神奇的499竟然不在HTTP响应码标准内?快来了解一下!
Nginx神奇的499竟然不在HTTP响应码标准内?快来了解一下!
112 0
|
2月前
|
应用服务中间件 网络安全 nginx
Nginx学习研究-Nginx 安装 SSL 配置 HTTPS
Nginx学习研究-Nginx 安装 SSL 配置 HTTPS
|
2月前
|
域名解析 负载均衡 应用服务中间件
nginx反向代理https域名时,请求报错502问题排查
nginx反向代理https域名时,请求报错502问题排查
|
3月前
|
应用服务中间件 Linux 网络安全
Linux配置Nginx SSL支持Https配置教程
Linux配置Nginx SSL支持Https配置教程
热门文章
最新文章
推荐文章
更多
推荐镜像
更多