作为一个web服务器,那么肯定是有监听套接字的,这个监听套接字是用于接收HTTP请求的,这个监听套接字的创建是根据配置文件的内容来创建的,在nginx.conf文件中有多少个地址就需要创建多少个监听套接字。这里不说各个结构体的构造 只说大体情况!
1)、首先在main函数中调用了ngx_init_cycle()函数,在这个函数的最后调用了ngx_open_listening_sockets函...
分类:
其他好文 时间:
2014-06-22 16:45:32
阅读次数:
139
这个函数做了连部分工作:1)以端口为入口点 将有用的信息存放到hash表内 2)调用ngx_http_init_listening()函数 对端口进行监听
1、 在ngx_http_core_main_conf_t结构体中有一个字段为ports,是一个数组,数组内存放的全是ngx_http_conf_port_t;对于每一个端口信息(ngx_http_conf_port_t),调用
ngx_h...
分类:
其他好文 时间:
2014-06-21 21:16:25
阅读次数:
267
首先来分析一下HTTP模块是如何介入Nginx的。
当master进程fork出若干个workr子进程后,每个worker子进程都会在自己的for死循环中不断调用事件模块:
for ( ;; ) {
....
ngx_process_events_and_timers(cycle); /* 调用事件模块 */
....
}...
分类:
其他好文 时间:
2014-06-18 08:03:22
阅读次数:
246
Nginx将一个HTTP请求分成多个阶段,以模块为单位进行处理。这样做的好处是使处理过程更加灵活、降低耦合度。HTTP框架将处理分成了11个阶段,各个阶段以流水线的方式处理请求。这11个HTTP阶段如下所示:
typedef enum {
NGX_HTTP_POST_READ_PHASE = 0, // 接收到完整的HTTP头部后处理的阶段
NGX_HTTP_SERVER...
分类:
其他好文 时间:
2014-06-15 14:18:11
阅读次数:
218
监听端口属于server虚拟主机,由server{}块内的listen配置项决定。
在处理配置文件http块内main级别的配置项时,每个HTTP模块都会调用create_main_conf、create_srv_conf、create_loc_conf三个方法建立三个结构体,用来分别存储http块、server块、location块内的配置项。ngx_http_core_module是...
分类:
其他好文 时间:
2014-06-15 13:20:06
阅读次数:
268
OpenResty (aka. ngx_openresty) is a
full-fledged web application server by bundling the standard Nginx core, lots of
3rd-party Nginx modules, as well ...
分类:
其他好文 时间:
2014-06-10 00:02:19
阅读次数:
384
ngx-modules
Nginx 主要的模块大致可以分为四类:
handler – 协同完成客户端请求的处理、产生响应数据。比如模块, ngx_http_rewrite_module,
ngx_http_log_module, ngx_http_static_module。
filter – 对 handler 产生的响应数据做各种过滤处理。比如模块, ngx_http_n...
分类:
其他好文 时间:
2014-05-25 23:14:00
阅读次数:
242
基于Nginx反向代理及负载均衡参考:http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass只要没有被启用,默认就是开启的,因为proxy属于nginx内置标准模块,通常实现代理的时候,最核心模块是proxy_pass,用于将用户请求的rui递交至上游服务器的某个URI但这个..
分类:
其他好文 时间:
2014-05-09 00:52:25
阅读次数:
484
nginx的slab分配器主要和共享内存(nginx自己实现的共享内存 采用mmap或者shm实现)一起使用,Nginx在解析完配置文件,把即将使用的共享内存全部以list链表的形式,对共享内存进行管理和划分。在nginx_cycle.c中
static ngx_int_t
ngx_init_zone_pool(ngx_cycle_t *cycle, ngx_shm_zone_t *zn)
{
...
分类:
其他好文 时间:
2014-05-07 08:18:53
阅读次数:
361
文章来自于:近期由于工作需要,做了些防DDOS攻击的研究,发现nginx本身就有这方面的模块ngx_http_limit_req_module和ngx_http_limit_conn_module。一、基本介绍
1.ngx_http_limit_req_module 配置格式及说明: 设置一个...
分类:
其他好文 时间:
2014-05-01 14:11:34
阅读次数:
465