您的位置:首页 > 运维架构 > Nginx

nginx之配置文件分析与开源软件配置文件结构设计

2013-11-26 23:09 351 查看
    在开始设计自己开源软件的配置文件结构和解析方案之前先研究了一下nginx的配置文件结构和解析方法,当然我也是通过google查找资料和结合nginx的源码进行分析。在查找资料的过程中发现一些比较好的资料,就参照着读源码了,自己也没有发时间在去写一篇博客专门分享nginx的配置文件了,下面先简单介绍一下两篇比较好的资料博客:

1.介绍了nginx配置文件中具体某一项的具体意义,而且很详细,看懂了这些配置选项的意义,理解nginx的实现原理和功能就方便和简单多了,博客地址是:http://pmghong.blog.51cto.com/3221425/1177320

2.还有一篇是高级货,需要仔细阅读并且结合源代码深入分析才能完全理解和融会贯通,就是nginx配置文件的具体解析过程:http://www.pagefault.info/?p=368。这篇博客的货还是比较足够,而且都是干货。

     通过分析nginx的配置文件和解析过程,发现配置文件和nginx的模块开发机制结合很紧密,基本上有对应的关系,当然nginx支持嵌套的模块结构,也支持include另外的配置文件进入主配置文件。

    了解了nginx的配置文件结构与源码以后,开始构思自己的httpserver的配置文件,刚开始简单一些吧,但是总体的结构需要先清楚,不然后面不断的加入选项和整块配置的时候会把配置文件变得很乱,给解析也带来困难。所以必须要设计一个通用的配置文件结构,解析也不会因为配置文件的改变而改变,以不变应万变。下面简单说说自己的初步想法,实际的实现过程中可能有一些调整吧

1.全局的配置选项,都直接以键值对的形式给出,以=分割,形式如key=value,例如:port=8080。

2.其他配置文件按照功能进行模块划分配置,例如如下是日志模块的配置模块:

<log>

access_log_path=/export/home/access.log

access_log_level=debug

......

</log>

3.设计对应的数据结构来保存解析配置文件的选项,这个后面具体实现代码在详细研究,原则是方便各个模块获取到对应的配置选项,而且能够灵活增加选项。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: