nginxConfigFormatterGo nginx配置文件格式化工具介绍

▼魔方 西西 提交于 2020-07-27 18:32:27

软件地址: https://github.com/rwx------/nginxConfigFormatterGo
码云地址: https://gitee.com/RickieL/nginxConfigFormatterGo

前言

在2018年的时候, 看到了一个nginx配置文件格式化工具, nginx-config-formatter , 当时自己对服务器上的那些乱七八糟的nginx配置文件实在是忍无可忍, 同时也看到网络上也有很多推荐这个工具, 就开始用起来了. 使用过程中, 发现了一些bug, 当时在github上进行了反馈, 后面干脆是自己动手尝试着去修复, 然后提交了pull request , 没想到被软件的原作者接收了, 甚是开心, 第一次为开源做出了自己的贡献. 还有一个pull request, 因为和别人的提交冲突的原因, 一直没有合并, 也就一直搁置了2年的时间.

用go重写

最近在学go, 一直也没找到很好的使用场景, 就想起了这nginx格式化工具, 不如用go重新写一遍吧.

用go重写有几个优点:

  1. 根据不同的系统进行打包二进制文件, 在服务器上直接使用.
  2. 不再需要每个服务器上安装python3, 尤其是centos默认的都是python2的环境.
  3. 执行的效率更高.
  4. 对go的使用更加熟练了.

所做的改进

  1. 支持设置缩进的空格数(默认4个空格缩进)
  2. 支持更多的文件字符集
  3. 修复了源项目中的多行配置的分解问题
  4. 修复了原项目中的"'的配对问题
  5. 不必对${variable} 及 rewrite 中的 {}进行特殊处理, 因为nginx配置文件的语法中, 这些时候的花括号都需要被引号包围, 不然语法解析通不过(指 nginx -t ).
  6. 减少了一些不必要的重复处理, 从原来的7次全量读写优化到6次全量读写.

后记

我这个go开发的nginx配置文件格式化工具(nginxConfigFormatterGo)还是得到了原python项目作者的star, 得到认可的感觉还是很不错的.

一直以来有个开源梦, 想要开发出一个软件, 能够体现自己作为程序员作为IT人士的价值, 能够给人们带来有用的东西. 也希望自己能留下一些东西, 得到这个世界的认同和认可, 我想大多数开源的目的都有这些原因吧.

希望这个nginx配置软件能给大家带来方便. 请大家随意取用.

软件地址: https://github.com/rwx------/nginxConfigFormatterGo
码云地址: https://gitee.com/RickieL/nginxConfigFormatterGo

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!