http://blog.csdn.net/chosen0ne/article/details/7754608
http://blog.csdn.net/fjslovejhl/article/details/8167522
在ngx_http_core_main_conf_t中有ports属性,保存nginx监听的所有端口的信息。ports是ngx_http_conf_port_t类型的数组,而每个ngx_http_conf_port_t结构又具有addrs属性,它存放了对应端口上要监听的地址。addrs是ngx_http_conf_addr_t类型的数组,ngx_http_conf_addr_t结构包含在addr:port上监听的虚拟主机名及对应的配置信息。
ngx_http_core_main_conf_t
|---> prots: 监听的端口号的数组
|---> ngx_http_conf_port_t:端口号的配置信息
|---> addrs:在该端口号上,监听的所有地址的数组
|---> ngx_http_conf_addr_t:地址配置信息,包含在该addr:port上的多个虚拟主机
|---> servers:在addr:port上的说个server块的配置信息ngx_http_core_srv_conf_t
| |---> ngx_http_core_srv_conf_t
|---> opt:ngx_http_listen_opt_t类型,监听socket的配置信息
|---> hash:以server_name为key,ngx_http_core_srv_conf_t为value的hash表,并且server_name不含通配符。
|---> wc_head:同hash,server_name含前缀通配符。
|---> wc_tail:同hash,server_name含后缀通配符。