ngx_http_conf_get_module_main_conf questions

vagner nginx-forum at nginx.us
Sun Jun 2 19:41:22 UTC 2013


Заранее извиняюсь за возможно глупый вопрос. Первый раз пишу модуль под
nginx. Конечная цель - получение статистики из модуля
ngx_http_static_module. Для этих целей создан модуль подобный ustats,
опиcание модуля: 
ngx_http_module_t  ngx_http_filestats_module_ctx =
{
    NULL,                                  /* preconfiguration */
    NULL,                                                      /*
postconfiguration */

    NULL,                                                              /*
create main configuration */
    NULL,                                  /* init main configuration */

    NULL,                                  /* create server configuration
*/
    NULL,                                  /* merge server configuration */

    ngx_http_filestats_create_loc_conf,       /* create location
configuration */
    ngx_http_filestats_merge_loc_conf         /* merge location
configuration */
};

ngx_module_t  ngx_http_filestats_module =
{
    NGX_MODULE_V1,
    &ngx_http_filestats_module_ctx,           /* module context */
    ngx_http_filestats_commands,              /* module directives */
    NGX_HTTP_MODULE,                       /* module type */
    NULL,                                  /* init master */
    NULL,                                  /* init module */
    NULL,                                  /* init process */
    NULL,                                  /* init thread */
    NULL,                                  /* exit thread */
    NULL,                                  /* exit process */
    NULL,                                  /* exit master */
    NGX_MODULE_V1_PADDING
};

При старте нормально проходит инициализация переменных, и присваиваются
соответствуюшие значения из конфига. В ngx_http_static_module вписываю
соответствующую строку для получения данных (структуры
ngx_http_filestats_loc_conf_t) от ngx_http_filestats_module:
uslc = ngx_http_get_module_loc_conf(r, ngx_http_filestats_module);
Далее при получении значений, я получаю только то, то присвоено в
ngx_http_filestats_merge_loc_conf, но то, что должно присваиваться (и
присваивалось при старте) в ngx_command_t я теряю. Подскажите пожалуйста,
как я могу получить присвоенные значения в структуре
ngx_http_filestats_loc_conf_t после парсинга конфига в другом модуле?

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,239774,239774#msg-239774



Подробная информация о списке рассылки nginx-ru