![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Nginx
文章平均质量分 89
程序员子涵
交个朋友 wx: CXYzihan (注明来意)
分享编程中的遇到的坑,成长爬坑记录,这里有三板斧,王婆本人切瓜,包甜,让你在编程路上不迷路!
一个专注于鸿蒙OpenHarmony c/c++/Linux程序员情怀 走向全栈 最终归属于架构.
展开
-
怎样理解 cosocket
笔者认为,cosocket 是 OpenResty 世界中技术、实用价值最高部分。让我们可以用非常低廉的成本,优雅的姿势,比传统 socket 编程效率高好几倍的方式进行网络编程。无论资源占用、执行效率、并发能力都非常出色。 鲁迅有句名言“其实世界上本没有路,走的人多了便有了路”,其实对于 cosocket 的中文翻译貌似我也碰到了类似的问题。当我想给大家一个正面解释,爬过了官方 wiki 发现,原来作者本人(章亦春)也没有先给出 cosocket 定义。 看来只能通过一些侧面信息,从而让这条路逐渐的清晰起原创 2021-06-01 13:53:31 · 419 阅读 · 2 评论 -
Nginx学习笔记 —— 基本数据结构
Nginx的一些特点 高性能 采用事件驱动模型,可以无阻塞的处理海量并发连接 高稳定性 内存池避免了c程序常见的资源泄漏问题 模块化架构使得各个功能模块完全解耦 one master / mutil workers 进程池设计实现了自我监控管理,保证一个worker挂掉也能快速恢复服务 低资源消耗 不使用传统的进程或线程服务器模型,没有切换成本 使用很多节约系统资源的编程技巧 高扩展性 模块...转载 2020-01-22 14:11:16 · 151 阅读 · 0 评论 -
Nginx学习笔记 ---高级数据结构
动态数组 ngx_array_t 表示一块连续的内存,其中存放着数组元素,概念上和原始数组很接近 // 定义在 core/ngx_array.h typedef struct { void * elts; // 数组的内存位置,即数组首地址 ngx_uint_t nelts; // 数组当前的元素数量 size_t ...转载 2020-01-22 14:10:46 · 114 阅读 · 0 评论 -
Nginx学习笔记(三)
Request: Nginx 中的 ngx_http_request_t 是对一个 http 请求的封装; 一个 http 请求包含:请求行、请求头、请求体,响应行、响应头、响应体 Nginx开发从入门到精通:http://tengine.taobao.org/book/ ...转载 2020-01-22 14:11:33 · 83 阅读 · 0 评论 -
Nginx学习笔记(二)
Connection: 在Nginx中,connection就是对TCP连接的封装,其中包括连接的socket,读写事件。 Nginx处理连接流程: 1. 解析配置文件,得到需要监听的端口和IP地址; 2. 在 master 中初始化监听 socket -> bind ->listen; 3. fork 多个子进程,子进程会通过竞争accept_mutex 锁获得新连接; 4...转载 2020-01-22 14:11:38 · 121 阅读 · 0 评论 -
Nginx学习笔记(一)
** Nginx进程模型 ** 1. 多进程模型: 进程间相互独立,无需加锁,且互不影响; 一个进程退出了不影响其他的进程运行,降低风险; 当请求到来,多个worker通过竞争accrpt_mutex而获得注册listenfd读事件,在读事件里调用accept接受连接。 2. 异步非阻塞: 处理网络事件与I/O复用相同,同时监控多个事件,当有事件就绪了就去读写; 一个进程...转载 2020-01-22 14:11:55 · 149 阅读 · 0 评论