Skip to content

学习nginx架构设计与实现,翻译nginx的源码,写nginx的测试代码, 在issue中记录nginx的精妙设计及其常见问题https://github.com/vaynedu/nginx-1.16.0/issues 。 myexercise内存池、哈希表、链表、md5、crc测试代码,mymodule中有hello自定义模块代码。通过nginx将自己整个知识体系连接起来

License

vaynedu/nginx-1.16.0

Repository files navigation

nginx-1.16.0

nginx-1.16.0源码分析及其注释--记录心路历程,有问题随时沟通交流,一起学习

调试练习ngx_pool.c的代码

调试练习ngx_hash.c的代码

调试练习ngx_list.c的代码

调试练习ngx_md5.c的代码, ngx_sha1.c亦是如此

调试练习ngx_crc.c的代码

1.ngx_http_myhello_module

自己编写的一些hello模块,用来熟悉和掌握nginx

./configure --prefix=/usr/local/nginx --with-cc-opt="-O0" --add-module=./third-module/tmp/echo-nginx-module-0.61 --with-debug --add-module=./mymodule/ngx_http_myhello_module/ && make -j8 && make install

三.已翻译代码

1.HTTP模块

a) HTTP的11个阶段入口 src/http/ngx_http_core_module.c -- 特别重要

b) 待添加

2.配置相关

a) 模块上下文结构体 --- 待完成

b) 模块结构体 --待完成

c) ngx_command_t 配置指令结构体 -- 待完成

3.数据结构

a) ngx_pool_t 内存池--src/core/ngx_palloc.c、src/os/unix/ngx_alloc.c

b) ngx_hash_elt_t nginx哈希表 -- src/core/ngx_hash.c

c) ngx_array_t 动态数组 -- src/core/ngx_array.c

d) ngx_list_t 链表 -- src/core/ngx_list.c

e) ngx_md5_t && ngx_sha1_t 生成md5, 增加封装 -- src/core/ngx_md5.c src/core/ngx_sha1.c

f) ngx_crc32 crc使用 -- src/core/ngx_crc32.c

1.echo-nginx-module

nginx.conf中通过echo等指令直接输出包体, 类似于nginx的命令,方便调试配置

./configure --prefix=/data4/nginx/nginx --add-module=./third-module/echo-nginx-module-0.61 && make -j8 && make install

1. nginx

a) 《深入理解nginx》--陶辉

b) 《深入剖析nginx》

2. http

a) 《图解HTTP》

b) 《图解TCP/IP》

3.git

a) git color着色初始化脚本

4.gcc

《如何处理linux库的同名函数》

1. ab 压测工具

yum install httpd-tools

直接上手ab -n 1000 -c 5 http://1.1.1.1/1.mp4

2. stress

待添加

记录一些常用的初始化脚本

待补充

八.联系方式

2.QQ二维码

About

学习nginx架构设计与实现,翻译nginx的源码,写nginx的测试代码, 在issue中记录nginx的精妙设计及其常见问题https://github.com/vaynedu/nginx-1.16.0/issues 。 myexercise内存池、哈希表、链表、md5、crc测试代码,mymodule中有hello自定义模块代码。通过nginx将自己整个知识体系连接起来

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published