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

时间:2013-03-07 17:10:34

标签: python nginx

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

4 个答案:

答案 0 :(得分: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

答案 1 :(得分:4)

似乎存在augeas lens至少支持nginx配置文件语法的一个子集。 Augeas也有Python bindings

答案 2 :(得分:3)

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

答案 3 :(得分:0)

NGINX Inc在2017年开始提供一个库,这是“将NGINX配置转换为JSON并返回的快速而可靠的方法”。它称为crossplan,您可以通过pip来获得它。

pip install crossplane

使用此方法,您可以将文件解析为JSON,反序列化,处理,序列化回JSON,然后转换回NGINX配置文件格式。