All Projects → vaynedu → nginx-1.16.0

vaynedu / nginx-1.16.0

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

Programming Languages

c
50402 projects - #5 most used programming language
Vim Script
2826 projects
C++
36643 projects - #6 most used programming language
XS
67 projects
perl
6916 projects
Makefile
30231 projects

Projects that are alternatives of or similar to nginx-1.16.0

Nginxconfig.io
⚙️ NGINX config generator on steroids 💉
Stars: ✭ 14,983 (+124758.33%)
Mutual labels:  nginx-configuration
NginxExecute
The NginxExecute module executes the shell command through GET POST and HEAD to display the result.
Stars: ✭ 47 (+291.67%)
Mutual labels:  nginx-module
node-js-starter-kit
This is the starter kit project for node js REST API development with express js, mongodb, typescript, webpack specially designed for REST API projects.
Stars: ✭ 14 (+16.67%)
Mutual labels:  nginx-configuration
wo-nginx-setup
Bash script to setup optimized WordOps
Stars: ✭ 16 (+33.33%)
Mutual labels:  nginx-configuration
Nginx-builder
A tool to build deb or rpm package of required Nginx version from the source code, with the ability to connect third-party modules. Nginx parameters are set in the yaml configuration file.
Stars: ✭ 143 (+1091.67%)
Mutual labels:  nginx-module
Nginxy
FancyIndex Theme for Nginx same appearance of Apaxy for apache
Stars: ✭ 34 (+183.33%)
Mutual labels:  nginx-configuration
Nginx Ui
Nginx UI allows you to access and modify the nginx configurations files without cli.
Stars: ✭ 4,067 (+33791.67%)
Mutual labels:  nginx-configuration
nginx-session-ticket-key-rotation
Nginx session ticket key rotation program for secure rotation of TLS session ticket keys and sharing in server clusters.
Stars: ✭ 23 (+91.67%)
Mutual labels:  nginx-configuration
vscode-nginx-formatter
A simple Formatter, which formats NGINX Configuration Files in VSCode
Stars: ✭ 16 (+33.33%)
Mutual labels:  nginx-configuration
nginx-conf
Nginx configuration
Stars: ✭ 18 (+50%)
Mutual labels:  nginx-configuration
LEMPer
LEMPer Stack is terminal-based LEMP / LNMP installer and manager for Debian & Ubuntu cloud or virtual server (vps) and on-premise (bare metal).
Stars: ✭ 171 (+1325%)
Mutual labels:  nginx-configuration
nginx.conf-examples
nginx.conf examples
Stars: ✭ 22 (+83.33%)
Mutual labels:  nginx-configuration
nginx-module-stream-sts
Nginx stream server traffic status core module
Stars: ✭ 51 (+325%)
Mutual labels:  nginx-module
Nginx Admins Handbook
How to improve NGINX performance, security, and other important things.
Stars: ✭ 12,463 (+103758.33%)
Mutual labels:  nginx-configuration
ngx memory leak killer
ngx_memory_leak_killer can graceful restart a working process that exceeds the upper limit of memory usage.
Stars: ✭ 27 (+125%)
Mutual labels:  nginx-module
Server Configs Nginx
Nginx HTTP server boilerplate configs
Stars: ✭ 9,457 (+78708.33%)
Mutual labels:  nginx-configuration
nginx-opentracing
Instrument nginx for OpenTracing.
Stars: ✭ 21 (+75%)
Mutual labels:  nginx-module
dockerize-and-ansible
🐳 Build & Deploy the containerized Dev & Prod Env
Stars: ✭ 20 (+66.67%)
Mutual labels:  nginx-configuration
Mirror
Deploy Google and Wikipedia mirror with one command using now.sh.
Stars: ✭ 93 (+675%)
Mutual labels:  nginx-configuration
nginx ipset blacklist
nginx module to use linux netfilter ipsets as blacklists
Stars: ✭ 34 (+183.33%)
Mutual labels:  nginx-module

nginx-1.16.0

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

一. myexercise--练习调试一些nginx的代码

1.myngx_pool.c

调试练习ngx_pool.c的代码

2.myngx_hash

调试练习ngx_hash.c的代码

3.myngx_list

调试练习ngx_list.c的代码

4.myngx_md5

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

5.myngx_crc

调试练习ngx_crc.c的代码

二.mymodule--自己编写一些模块

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

四.third-module -- 第三方模块

1.echo-nginx-module

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

五.mydocument -- 相关文档资料

1. nginx

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

b) 《深入剖析nginx》

2. http

a) 《图解HTTP》

b) 《图解TCP/IP》

3.git

a) git color着色初始化脚本

4.gcc

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

六.tools -- 相关工具

1. ab 压测工具

yum install httpd-tools

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

2. stress

待添加

七.myshell

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

待补充

八.联系方式

1.github issue

2.QQ二维码

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].