「Nginx」- 配置文件格式化 @20210423

问题描述

对于 Nginx 配置文件的修改或增加,通常是在命令行中是通过 vim 编辑器完成的。

但是,最痛苦的事情就是配置文件的格式化,即配置行的缩进。由于 vim 不会自动缩进 Nginx 配置行,在经过日积月累的修改后,Nginx 配置文件的格式乱七八糟,可读性极低,维护这种配置文件极易出错。

该笔记将记录:如何格式化 Nginx 配置文件,以及常见问题的处理。

解决方案

命令行工具

1)Nginx Formatter,这是目前(05/22/2019)能找到的、Star 比较多的项目(使用 Python 开发),也是我们正在使用的工具:

git clone https://github.com/slomkowski/nginx-config-formatter.git

conf_folder='/etc/nginx/conf.d/'          # 针对 CentOS RHEL 发行版
conf_folder='/etc/nginx/sites-available/' # 针对 Debian Ubuntu 发行版

# 格式化配置文件,同时备份
nginx-config-formatter/nginxfmt.py   \
    -v --backup-original --indent 4  \
    $conf_folder/*.conf

# 如果生成的配置文件符合预期,则进行清理工作(使用 mv 替代 rm 是个好习惯)
find $conf_folder -type f -name '*.conf~' -exec mv -v {} /tmp \;

2)nginxbeautifier,需要使用 NodeJS 环境来安装运行。但是,我们没有使用该工具,因为在我们的场景中,我们不会为了格式化 Nginx 配置而在主机中安装 NodeJS 环境,否则就把问题搞复杂了。

3)conffmt,该项目比较久,所以我们也没有使用该工具。

在线工具

格式化 Nginx 配置文件这个问题的本质:实质是对配置行的正确缩进:-),我们仅需合适的缩进工具即可。

因此我们完全能够借助其他代码格式化工具:
1)Online JavaScript beautifier

参考文献

Is there a formatter/beautifier for NGINX config files?


posted @ 2021-04-23 10:35  研究林纳斯写的  阅读(2613)  评论(0编辑  收藏  举报