"Variables and scripts
variables in ngx
Implementation of variables in ngx
script in ngx
》uri matching rules and implementation
》Use and implementation of if instruction
》Phases and order of execution of instructions
Execution order of http module
instructions executed in stages (involving autoindex, index, static three modules)
"Basic data structures in ngx use and implement
array
memory pool
queue
list collection
hash table
》Modular ngx and configuration information management
Modular management mode
management module configuration information
"Write the ngx module
Write a core module
Write an http module
"Event module implementation
epoll
timer
shock group and load
"http request process
"filter role and implementation
filter assembly and execution
ngx_http_copy_filter_module role to
write a filter
"Sub-request
what is sub-request
implementation principle
ngx_http_additon_filter_module filter module
writes a sub-request
"Upstream usage and implementation
How to use the upsteam
implementation to
write an upsteam module
"Upstream load balancing
default rotation training
ip_hash module
how to implement a load mechanism
》proxy_pass instruction
"ngx working mode
master mode
worker mode
》ngx log management
"ngx's implementation of https
"ngx some caching practices
ngx and caching
ngx and redis
》Openresty
event model and lua coroutine
The above are some article directories about ngx that I plan to write. The articles that have been written will be linked to the corresponding names to indicate that the publication is complete.
The table of contents only lists some knowledge points that I have thought of and wanted to write temporarily. The final order of writing and publishing may not be the same as the order listed above, and the title of the article will also be adjusted during the writing process.
If possible, each article will first introduce how a certain knowledge point is used, and then introduce how it is implemented. For example, when introducing variables, I will first introduce the current usage of variables in nginx, and give some practical examples, but will not involve the underlying code implementation, so this part is more suitable for nginx users. Later, I will introduce their implementation methods from the code level. In the process, I will try to use text and legends to explain the implementation methods, and try to reduce the use of code stickers to explain the problem, so that readers can understand the problem in an easier way, so This part is more suitable for nginx developers or readers who want to know more about nginx.
A contestant like me who even copied other people’s diary assignments when I was a child, wrote articles purely to improve their writing ability, so it is inevitable that there will be gaps in the published articles, such as finding that some of the published content is wrong, or discovering There are better materials to explain some knowledge points, and even fix the wrong statement directly in the original article. For the above reasons, if readers need to reprint the article, please reprint it in the form of a link to ensure that the content they see at any time is the latest.
All examples and conclusions in the article are done in the following environment:
operating system:
On the virtualized linux on vagrant, use uname -a to get the following information:
Linux vagrant-centos65.vagrantup.com 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Nginx version:
nginx-1.9.4