Skip to content

A fork with extra documentation and code comments as I explore the codebase. Inspired by how well documented Redis is.

Notifications You must be signed in to change notification settings

mkdewidar/nginx-documented

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NGINX (documented)

This is a fork of the official NGINX Git mirror, but with more implementation specific documentation and code comments in areas that I explore.

The intention is to fill the gap between online documentation that explains NGINX's functionality and how to use it, and spending hours reading the thousands of lines of code to understand how NGINX actually implements things. In some ways this is intended to complement NGINX's development guide which does explain a lot of the basic concepts, but I felt wasn't enough to understand the code.

I'm only documenting what I explore, so I wouldn't expect this to ever be complete.

Directory Structure

See subfolders for READMEs going into more details on individual areas.

  • auto: shell scripts for building the source.
  • conf:
  • contrib: scripts and tooling provided by people to the NGINX project.
  • docs: source files for official documentation such as man page.
  • misc:
  • src: all the server's code written in C
    • core: entrypoint (nginx.c), data structures and other stuff that is important to the system as a whole.
    • event: implementations of the event loop.
    • http: the "core" http module which is the foundation for all http features, as well as the source for other http modules which build on it.
    • mail: modules implementing the mail protocols.
    • misc:
    • os: APIs that abstract the underlying operating system.
    • stream: modules implementing TCP/UDP proxy support.

About

A fork with extra documentation and code comments as I explore the codebase. Inspired by how well documented Redis is.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 96.8%
  • Vim Script 2.5%
  • Other 0.7%