NGINX----源码阅读---数据结构---配置文件相关

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NGINX----源码阅读---数据结构---配置文件相关相关的知识,希望对你有一定的参考价值。

1 typedef struct {
2     ngx_file_t            file;
3     ngx_buf_t            *buffer;
4     ngx_buf_t            *dump;
5     ngx_uint_t            line;
6 } ngx_conf_file_t;

core/ngx_conf_file.h

buffer:配置文件缓存,在配置文件解析时提供缓存作用。

dump:

line:当前配置文件解析的行数

file:配置文件的相关信息:

core/ngx_file.h

struct ngx_file_s {
    //nginx文件基础结构
    ngx_fd_t                   fd;
    ngx_str_t                  name;  //文件名称
    ngx_file_info_t            info;   //文件信息

    off_t                      offset;      //当前文件读写位置
    off_t                      sys_offset;

    ngx_log_t                 *log;     //文件日志

#if (NGX_THREADS)
    ngx_int_t                (*thread_handler)(ngx_thread_task_t *task,
                                               ngx_file_t *file);
    void                      *thread_ctx;
    ngx_thread_task_t         *thread_task;
#endif

#if (NGX_HAVE_FILE_AIO)
    ngx_event_aio_t           *aio;
#endif

    unsigned                   valid_info:1;
    unsigned                   directio:1;
};

core/ngx_core.h

typedef struct ngx_file_s        ngx_file_t;

ngx_fd的数据结构如下:

src\os\unix\ngx_files.h

typedef int                      ngx_fd_t;
typedef struct stat              ngx_file_info_t;

 

以上是关于NGINX----源码阅读---数据结构---配置文件相关的主要内容,如果未能解决你的问题,请参考以下文章

NGINX----源码阅读---sources配置脚本

从9个组件开始,教你如何高效的阅读nginx源码?

Nginx源码阅读(main)

NGINX----源码阅读---cycle

Nginx 常用配置,避坑指南!

ingress-nginx 保姆级别源码阅读