Nginx配置格式化工具使用指南
【免费下载链接】nginx-config-formatter 项目地址: https://gitcode.com/gh_mirrors/ng/nginx-config-formatter
Nginx Config Formatter是一个专为Nginx配置文件设计的格式化工具,使用Python编写且无额外依赖。它提供一致的配置文件格式化方案,包括统一的缩进、合并相邻空白行、遵循特定花括号对齐方式等。
安装方法
通过pip安装(推荐)
确保系统已安装Python 3.4或更高版本,然后运行:
pip3 install nginxfmt
手动安装
将项目中的nginxfmt.py文件复制到脚本目录即可使用,无需第三方依赖。
或者克隆仓库并创建符号链接:
git clone https://gitcode.com/gh_mirrors/ng/nginx-config-formatter
ln -s nginx-config-formatter/nginxfmt.py ~/bin/nginxfmt.py
基本使用方法
格式化单个文件
nginxfmt.py 配置文件路径.conf
格式化多个文件
nginxfmt.py file1.conf file2.conf file3.conf
预览格式化结果(不修改原文件)
nginxfmt.py -p 文件名.conf
创建备份并格式化
nginxfmt.py -b 文件.conf
使用-b选项会在格式化前创建原文件的备份,备份文件名在原文件名后添加~。
格式化选项
自定义缩进空格数
默认使用4空格缩进,可通过-i选项自定义:
nginxfmt.py -i 2 文件.conf # 使用2空格缩进
管道模式
支持从标准输入读取内容并输出到标准输出:
cat 未格式化.conf | nginxfmt.py --pipe
作为库使用
可以在第三方代码中导入和使用Formatter类:
import nginxfmt
# 使用默认格式化选项
formatter = nginxfmt.Formatter()
# 从字符串格式化
格式化文本 = formatter.format_string(未格式化文本)
# 格式化文件并保存
formatter.format_file(文件路径)
# 格式化文件并创建备份
formatter.format_file(文件路径, 备份文件路径)
自定义格式化选项
import nginxfmt
# 创建自定义选项
options = nginxfmt.FormatterOptions()
options.indentation = 2 # 改为2空格缩进
# 使用自定义选项初始化格式化器
formatter = nginxfmt.Formatter(options)
格式化特性
该工具提供以下格式化功能:
- 统一缩进:所有行按层级统一缩进,默认4空格每级
- 空白行处理:相邻空行最多保留两个
- 花括号对齐:遵循Java风格的花括号放置约定
- 空白字符处理:除注释和引号内外,空白字符会被合并
- 变量保护:
${variable}格式的模板变量不会被错误格式化 - 多语言支持:正确处理UTF-8和Latin1编码的文件
- 注释保留:注释内容保持不变,仅调整格式
测试文件示例
项目中包含测试文件,展示了格式化效果:
test-files/not-formatted-1.conf- 未格式化的配置示例test-files/umlaut-utf8.conf- 包含UTF-8特殊字符的配置test-files/umlaut-latin1.conf- 包含Latin1编码字符的配置
注意事项
- 备份重要文件:建议在格式化重要配置文件前使用
-b选项创建备份 - 编码支持:工具自动检测并支持UTF-8和Latin1编码
- 特殊字符:引号内的内容(包括花括号和变量)不会被格式化处理
- 注释保护:注释内容保持原样,仅去除前后空白字符
通过使用此工具,您可以保持Nginx配置文件的整洁性和一致性,提高配置文件的可读性和维护性。
【免费下载链接】nginx-config-formatter 项目地址: https://gitcode.com/gh_mirrors/ng/nginx-config-formatter
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



