#define ngx_string(str) \ { \ sizeof(str) - 1, (u_char *)str \ } #define ngx_null_string \ { \ 0, NULL \ } #define ngx_str_set(str, text) \ (str)->len = sizeof(text) - 1; \ (str)->data = (u_char *)text #define ngx_str_null(str) \ (str)->len = 0; \...
1. String:也是key-value对,主要也是对它的键对应的元素进行get、set、求长度、自增等操作,redis将添加的类型全存为字符串,即便纯数字; 2. Hash:哈希表(散列表),就是数据结构中的字典,采用特定的散列算法,比如手机通讯录有几百人,以姓的第一个字母作为关键码进行排序,这样我们可以快速找到联系人,这是通过特定...
NULL, /* init main configuration */ NULL, /* create server configuration */ NULL, /* merge server configuration */ NULL, /* create app configuration */ NULL /* merge app configuration */ }; ngx_module_t ngx_rtmp_cmd_module = { ...
NULL }, { ngx_string("auth_basic_user_file"), NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LMT_CONF |NGX_CONF_TAKE1, ngx_http_auth_basic_user_file, NGX_HTTP_LOC_CONF_OFFSET, offsetof(ngx_http_auth_basic_loc_conf_t, user_file), NULL }, ngx_null_command }...
out.next = NULL; return ngx_http_output_filter(r, &out); 1. 2. 3. 4. 5. 注意 在向用户发送响应包体时,必须牢记Nginx是全异步的服务器,也就是说,不可以在进程的栈里分配内存并将其作为包体发送。当ngx_http_output_filter方法返回时,可能由于TCP连接上的缓冲区还不可写,所以导致ngx_buf_t缓冲区...
{ ngx_string("http"), NGX_MAIN_CONF|NGX_CONF_BLOCK|NGX_CONF_NOARGS, ngx_http_block,0,0, NULL }, ngx_null_command };//}}} HTTP模块的总入口就是http{}命令集的回调函数:ngx_http_block 为所有的 http 模块都分配并创建了配置结构,同时,调用了每个模块相应的初始化回调 ...
(-1) char *name; // 模块的名字,用NGX_MODULE_V1初始化为NULL ngx_uint_t spare0; //保留字段,用NGX_MODULE_V1初始化为0 ngx_uint_t spare1; //保留字段,用NGX_MODULE_V1初始化为0 ngx_uint_t version; // 版本号:在nginx.h中:#define NGINX_VERSION "1.21.3" const char *signature; //...
ngx_null_string, 0, ngx_http_upstream_check_peek_handler, ngx_http_upstream_check_peek_handler, NULL, NULL, NULL, 0, 1 }, 将最后一行的1改为0即可,根据数据结构分析可得知,这个1代表启用keepalived,所以客户端才不会主动断开连接,因为这是tcp的端口连通性检查,不需要keepalived,将其改为0禁止keepalived...
NULL, /* create server configuration */ NULL, /* merge server configuration */ NULL, /* create app configuration */ NULL /* merge app configuration */ }; ngx_module_t ngx_rtmp_cmd_module = { NGX_MODULE_V1, &ngx_rtmp_cmd_module_ctx, /* module context */ ...
#define ngx_string(str) { sizeof(str) - 1, (u_char *) str } #define ngx_null_string { 0, NULL } #define ngx_str_set(str, text) \ (str)->len = sizeof(text) - 1; (str)->data = (u_char *) text #define ngx_str_null(str) (str)->len = 0; (str)->data = NULL ...