ngx_http_proxy_create_main_conf

在 src\http\modules\ngx_http_proxy_module.c

static void *
ngx_http_proxy_create_main_conf(ngx_conf_t *cf)
{
    ngx_http_proxy_main_conf_t  *conf;

    conf = ngx_pcalloc(cf->pool, sizeof(ngx_http_proxy_main_conf_t));
    if (conf == NULL) {
        return NULL;
    }

#if (NGX_HTTP_CACHE)
    if (ngx_array_init(&conf->caches, cf->pool, 4,
                       sizeof(ngx_http_file_cache_t *))
        != NGX_OK)
    {
        return NULL;
    }
#endif

    return conf;
}

该函数 `ngx_http_proxy_create_main_conf` 的作用是为 Nginx 的 HTTP 代理模块创建并初始化主配置结构体 (`ngx_http_proxy_main_conf_t`)


 

    conf = ngx_pcalloc(cf->pool, sizeof(ngx_http_proxy_main_conf_t));
    if (conf == NULL) {
        return NULL;
    }

为主配置结构体 ngx_http_proxy_main_conf_t 分配内存

地址 conf 也是函数的返回值


#if (NGX_HTTP_CACHE)
    if (ngx_array_init(&conf->caches, cf->pool, 4,
                       sizeof(ngx_http_file_cache_t *))
        != NGX_OK)
    {
        return NULL;
    }
#endif

 NGX_HTTP_CACHE=1 

表示是否启用了 HTTP 缓存功能


初始化动态数组

caches 数组用于存储多个 ngx_http_file_cache_t 类型的缓存配置指针。例如:

  • 用户可能通过 proxy_cache_path 指令定义多个缓存路径(如不同目录或不同配置的缓存)。

  • 每个缓存实例的配置会被存储为 ngx_http_file_cache_t 结构体,其指针存入 caches 数组中


return conf;

返回 结构体地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值