「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?



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM