从python以编程方式更改nginx配置文件的任何好方法?

gri*_*yvp 13 python nginx

我有一个动态改变nginx配置文件(nginx.conf)的python脚本.由于nginx配置不是ini格式化的,我目前使用一些regexp来解析和修改文件内容.这是以编程方式更改nginx配置的唯一方法还是更好的方法?

Jen*_*och 7

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

  2. 您可以使用PyNginxConfig Parser. http://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

  • 使用`pip install git + https://github.com/fatiherikli/nginxparser.git安装[nginxparser](https://github.com/fatiherikli/nginxparser) (2认同)

Jer*_*ook 7

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

pip install crossplane
Run Code Online (Sandbox Code Playgroud)

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


Vin*_*fer 2

刚刚发现python-nginx,它仅使用 Python 即可开箱即用,并且似乎根本不需要任何 C 或所需的 Python 包!可以稍微改进一下文档。也许我会为此发送一个拉取请求。