内容:
1.组件如何使用
2.过滤器模块实现
组件
nginx内部组件非常多,我们可抽离出:
内存池
线程池
共享内存
红黑树
ngx_array_t
ngx_list_t
ngx_hash_t
ngx_rbtree_t
ngx_queue_t
原子操作
日志
slab 共享内存组织方式
ngx_str_t
typedef struct {
size_t len;
u_char *data;
} ngx_str_t;
//问题:为什么要len?直接string不行吗?
//答:nginx的字符串直接放到内存池中的,需要len来在内存池分配合适大小的内存
ps:测试时bug解决思路
报错1:
看报错,一个一个加入所需的头文件。
报错2:
先 -I链接库, 库没问题了再看报错
把缺少的头文件一个一个加在源文件中
报错3:链接库非常多
换makefile/cmake
报错4:发现nginx存在内部定义但未实现函数
直接放到源文件开头