这里说的格式化不是格式化硬盘的意思,而是只美化代码/配置文件的意思。
自己手搓 Nginx 配置的时候一般都不注意缩进,然后就把格式弄的很乱,不容易查看了。这篇文章研究如何使用一些工具来美化 Nginx 的配置文件。
这种工具其实比较多,我参考的 How to format and beautify Nginx configuration 这篇文章。文章里面提到了很多工具,这里我只列出其中一种。
下面这个工具有个严重的问题。如果在 Nginx 配置内容中出现分号,那么这个工具会在分号后面添加换行符;例如
1 | add_header Strict-Transport-Security 'max-age=15552000;includeSubDomains;preload' always; |
会被转化成:
1 | add_header Strict-Transport-Security 'max-age=15552000; |
神奇的是这种问题 nginx -t
检查不出来,但是会导致 Nginx 报出神奇的错误(如 ERR_HTTP2_PROTOCOL_ERROR
),因此这个工具要慎用;
首先我们从 Github 上拉取代码:
1 | git clone https://github.com/1connect/nginx-config-formatter.git |
然后可以将可执行文件 nginxfmt.py
拷贝到 /usr/local/bin
中。如果只是临时使用,可以不用拷贝,直接使用 nginxfmt.py
即可。
这个工具的使用非常简单,直接在脚本后面添加要优化的配置文件即可。脚本的 Help 信息如下:
1 | $ nginxfmt.py -h |