// 创建ctx数组,用于存储模块的ctx数据// 调用handler,处理tcp数据,收发等等staticvoidngx_stream_init_session(ngx_connection_t*c){ngx_stream_session_t*s;ngx_stream_core_srv_conf_t*cscf;// 获得连接关联的会话对象s = c->data; c->log->action ="handling client connection";// 获取ngx_stream_co...
ngx_stream_core_srv_conf_t **cscfp; ngx_stream_core_main_conf_t *cmcf;if (*(ngx_stream_conf_ctx_t **) conf) { return "is duplicate"; }/* the main stream context */ctx = ngx_pcalloc(cf->pool, sizeof(ngx_stream_conf_ctx_t)); ...
// 1.10.x版本里的stream缺少变量和log功能 // 1.11.x添加了变量、log // // * ngx_stream_conf_ctx_t // * ngx_stream_core_main_conf_t // * ngx_stream_core_srv_conf_t // * ngx_stream_session_s // * ngx_stream_module_t/
ngx_http_create_request中把main_conf srv_conf loc_conf 指向#1, 但如果请求行的头部的host:bbb,那么需要重新获取对应的server{} #2,见ngx_http_set_virtual_server*///ngx_http_create_request和ngx_http_set_virtual_server 已经rewrite过程中(例如ngx_http_core_find_location//ngx_http_core_post_rewrite...
// 遍历模块数组,调用每个stream模块create_xxx_conf,创建配置结构体 // 之后解析配置,解析完成后初始化main_conf,合并srv_conf,调用postconfiguration // 得到stream_core里的监听端口 // 调用ngx_create_listening添加到cycle的监听端口数组,只是添加,没有其他动作 ...
事实上,HTTP反向代理模块在nginx.conf文件中提供的配置项大都是用来设置ngx_http_upstream_conf_t结构体中的成员的。 上面列出的3个超时时间(connect_timeout send_imeout read_timeout)是必须要设置的,因为它们默认为0,如果不设置将永远无法与上游服务器建立起TCP连接(因为connect timeout值为0)。*///使用upstrea...
staticchar*ngx_http_sub_merge_conf(ngx_conf_t*cf,void*parent,void*child){ngx_http_sub_loc_conf_t*prev = parent;ngx_http_sub_loc_conf_t*conf = child;ngx_conf_merge_value(conf->once, prev->once,1); ngx_conf_merge_str_value(conf->match, prev->match,"");ngx_conf_merge_value(co...
#include <ngx_core.h> #include "ngx_rtmp_live_module.h" #include "ngx_rtmp_amf.h" static void ngx_rtmp_recv(ngx_event_t *rev); static void ngx_rtmp_send(ngx_event_t *rev); static void ngx_rtmp_ping(ngx_event_t *rev); ngx...
#define NGX_RTMP_USER_STREAM_BEGIN 0 #define NGX_RTMP_USER_STREAM_EOF 1 #define NGX_RTMP_USER_STREAM_DRY 2 #define NGX_RTMP_USER_SET_BUFLEN 3 #define NGX_RTMP_USER_RECORDED 4 #define NGX_RTMP_USER_PING_REQUEST 6 #define NGX_RTMP_USER_PING_RESPONSE 7 #define NG...
static ngx_uint_t ngx_reap_children(ngx_cycle_t *cycle) { ngx_int_t i, n; ngx_uint_t live; ngx_channel_t ch; ngx_core_conf_t *ccf; ngx_memzero(&ch, sizeof(ngx_channel_t)); ch.command = NGX_CMD_CLOSE_CHANNEL; ch.fd = -1; live = 0; for (i = 0; i < ngx_last_...