V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
panlatent
V2EX  ›  PHP

用 PHP 写了一个管理本地 Nginx 网站配置文件的命令行小工具

  •  
  •   panlatent · 2017-04-04 13:14:47 +08:00 · 3268 次点击
    这是一个创建于 2786 天前的主题,其中的信息可能已经有所发展或是发生改变。

    功能暂时比较简单,主要就是列出配置文件列表和切换配置文件。原理也比较简单,建立软连接。比较适合 Nginx 网站配置比较多的情况,本人懒癌晚期。

    虽然说得这么轻松,但还是写了一晚上。因为花了半天的时间在 GitHub 上寻找可用的能读取 Nginx Conf 的类库,找到的都不理想,所以暂时还没用做读取配置文件这块。

    项目地址 https://github.com/panlatent/site-cli

    可以直接下载 phar 文件 https://github.com/panlatent/site-cli/releases/download/1.0.0/site-cli.phar

    第 1 条附言  ·  2017-05-02 18:54:24 +08:00
    更新下进度:

    1. 目前可以配置命令行补全,可补全命令、点站配置组、配置参数和选项。

    2. 统一了 list、enable、disable 命令:

    使用 list groups 查看所有点站配置组列表,list sites 查看所有点站列表,list servers 查看所有 server 列表
    使用 enable/disable [group] [site] ,启用/禁用整组配置或某一配置

    3. 执行任意命令会自动引导用户生成配置文件。
    7 条回复    2017-05-02 18:55:38 +08:00
    sagaxu
        1
    sagaxu  
       2017-04-04 14:08:12 +08:00
    一个符号链接就搞定了,意义何在?
    cenxun
        2
    cenxun  
       2017-04-04 14:15:42 +08:00 via Android
    赞一个,要有生成配置文件就好了,不同分支代码版本切换
    cxbig
        3
    cxbig  
       2017-04-04 14:36:30 +08:00
    这有个 shell 案例参考
    http://serverfault.com/questions/424452/nginx-enable-site-command

    @panlatent
    1. 为何要在$HOME 多开配置?这样权限略乱,本地还好,服务器上有风险。
    2. Group 那个功能独立出来有点怪,我以为你有配置好的组 cfg ,整组操作,但是看上去是扫描文件夹下的配置文件。那干嘛不直接单一使用 enable/disable 做多参数支持?支持单文件或多文件,同时用*适配所有。

    @cenxun
    你可以在-available 下准备多套,按需 ln 到-enabled 即可,用 Git 过于麻烦。我们服务器有.online 和.maintenance 两套配置,按需 ln 过去 reload 即可
    panlatent
        4
    panlatent  
    OP
       2017-04-04 17:37:32 +08:00
    @sagaxu @cenxun

    目前只是初步实现了一个 ln -s / ls 功能,后续功能会有开发,但我想看看别人会有哪些想法和需求。

    + 生成配置文件方面,准备做,但我觉得想搞一个大而全的方案不太可信,所以打算预定义一些简单的模板。
    + 另外一个功能是读取配置文件,初步做到 server 级别的 enable / disable
    + 还有想搞一搞 shell 自动补全

    @cxbig

    这个工具本来母殿就是为服务本地开发环境,类似 HostSwitch 。

    分组组这个概念,我觉得更好管理。我觉得直接使用 * 可能会有一定危险性。在我自己的本地场景中,很少出现整个子文件夹都禁用的情况

    ------

    这只是一个很偏门的小工具,但我觉得比单纯的命令更有趣味性
    panlatent
        5
    panlatent  
    OP
       2017-04-04 17:38:24 +08:00
    @panlatent 错字, 第 3 行「可信」应为「可行」
    cxbig
        6
    cxbig  
       2017-04-04 18:06:49 +08:00
    @panlatent 嗯,支持,生命在于折腾。
    panlatent
        7
    panlatent  
    OP
       2017-05-02 18:55:38 +08:00
    欢迎使用和反馈,这个小工具目的只有一个:为了更懒
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5630 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 06:34 · PVG 14:34 · LAX 22:34 · JFK 01:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.