20

我有一个动态改变 nginx 配置文件(nginx.conf)的 python 脚本。由于 nginx 配置不是ini格式,我目前使用一些正则表达式来解析和修改文件内容。是否存在以编程方式更改 nginx 配置的唯一方法或更好的方法?

4

4 回答 4

11
  1. https://www.npmjs.com/package/nginx-conf

  2. 您可能会使用PyNginxConfig Parserhttp://code.google.com/p/pynginxconfig/source/browse/pynginxconfig.py#208 这个实现和原来的很接近。

  3. 还有ServerMgr。它不是真正的解析器,只允许基本映射。

  4. 最后但并非最不重要,实际上是首先,因为基于 pyparsing:https ://github.com/fatiherikli/nginxparser

    pip install git+https://github.com/fatiherikli/nginxparser.git

于 2014-04-03T01:43:09.603 回答
9

NGINX Inc 于 2017 年开始提供一个库,这是一种“将 NGINX 配置转换为 JSON 并返回的快速可靠的方法”。它称为交叉计划,您可以使用pip.

pip install crossplane

有了这个,您可以将文件解析为 JSON、反序列化、操作、序列化回 JSON,然后转换回 NGINX 配置文件格式。

于 2019-12-20T23:20:55.527 回答
4

似乎存在一个支持至少一部分 nginx 配置文件语法的augeas 镜头。Augeas 也有Python 绑定

于 2013-03-07T17:19:09.497 回答
1

现在有nginx-conf,一个提供对 nginx 配置的编程访问的 NPM 模块。

于 2015-04-30T02:24:19.197 回答