我有一个动态改变nginx配置文件(nginx.conf
)的python脚本。由于nginx配置不是ini
格式,我目前使用一些regexp来解析和修改文件内容。这是以编程方式改变nginx配置的唯一方法还是更好的方法?
答案 0 :(得分:7)
您可以使用 PyNginxConfig Parser 。 http://code.google.com/p/pynginxconfig/source/browse/pynginxconfig.py#208 此实现与原始实现非常接近。
还有ServerMgr。 它不是一个真正的解析器,只允许基本的映射。
最后但并非最不重要的,实际上是第一个,因为基于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配置文件格式。