V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
ragnaroks

wind

  •  
  •   ragnaroks · Jun 13, 2020 · 3226 views
    This topic created in 2144 days ago, the information mentioned may be changed or developed.

    github

    wind 是一个托管服务,简而言之,是 windows 上的 systemd

    现在已经是第三版了,相对于上一版,临时移除了 Web 控制端,加入了命令行控制端

    移除 Web 控制端的原因是管理相对麻烦(启动浏览器,输入面板地址,链接管理),而且因为用的免费虚拟主机速度比较慢

    status

    Supplement 1  ·  Jun 21, 2020

    草,图挂了

    Supplement 2  ·  Jun 23, 2020

    看不到图请挂代理

    14 replies    2020-06-22 11:02:17 +08:00
    maoxs2
        1
    maoxs2  
       Jun 13, 2020 via Android
    理解成 systemd 不应该就是 ms 自家 services.msc 么?看起来刚觉更像是 pm2 ?
    另外为啥管理本地的服务会和虚拟主机有交集,不是直接访问本地端口就有本地 WEB GUI 么?
    ragnaroks
        2
    ragnaroks  
    OP
       Jun 13, 2020
    @maoxs2
    windows 自带的 SC 不能兼容任意应用程序,必须按指定的模式实现,不过你确实说得对,更像是 pm2/sv,而不是系统级的 systemd

    上一版的控制器是用 Web 写的,基于 websocket 通信远程控制,由于是远程控制,自然就不考虑集成到本体上. (ps: web 控制端是可以同时处理 N 个服务主机的,所以压根就没考虑过集成)
    loading
        3
    loading  
       Jun 13, 2020
    这是个一次性的辅助工具还是常驻进程的?
    如果是常驻的,有其他守护进程吗?
    ragnaroks
        4
    ragnaroks  
    OP
       Jun 13, 2020   ❤️ 1
    @loading
    常驻,图中的是控制器,实际上是由服务主机进行托管单元

    但服务主机本身也是一个 windows 服务,由 SC 来托管(设置成异常后无限重试)
    loading
        5
    loading  
       Jun 13, 2020
    不错,希望能继续优化。
    建议 github readme.md 上加上各版本预编译版本文件对应的 md5&sha,防止被人二次修改后发布,各种麻烦。
    ragnaroks
        6
    ragnaroks  
    OP
       Jun 13, 2020
    @loading
    确实,下次发布加上

    感谢支持,我比微软更懂 windwos
    huaouo
        7
    huaouo  
       Jun 14, 2020 via iPhone
    感觉有点像 https://nssm.cc/
    hljjhb
        8
    hljjhb  
       Jun 17, 2020 via Android
    进化版的 winsw🤔

    winsw 不好集中管理,不过本职工作更到位一点
    hljjhb
        9
    hljjhb  
       Jun 17, 2020
    突然发现反应过来之前 Wind2 的帖子就回复过

    有计划支持 windctl tail -f 吗
    ragnaroks
        10
    ragnaroks  
    OP
       Jun 17, 2020
    @hljjhb
    wind2 有一些缺陷,这版修复了,正好原来的 wind(wind1) 已经真正意义删除了,所以 wind2 改名 wind 了

    systemd 没有 tail 指令吧,我猜想你是要一个日志输出?

    目前有 2 个点,
    1 是在 web 端控制界面实现一个终端界面,可以实时(理论上)刷写日志,且可以输入指令并提交(给单元),我是想托管我的世界服务端之类的;
    2 是通过一个设置项,将单元的日志单独存储,便于用户自行查阅

    因为目前的命令行控制器比较简陋,直接硬编码字节来做的,比较难办,我周末休息的时候评估下时间,如果足够的话可以正经定义一个通信协议来实现
    hljjhb
        11
    hljjhb  
       Jun 17, 2020 via Android
    @ragnaroks 是的,systemd 的这部分工作在 journalctl 下,一方面希望日志文件能够像 winsw 做比较详细的配置和 rotate,另一方面,由于 windows 下默认没有很好的日志 tail 工具,出问题时如果能快速 windctl tail 看下最近和实时的日志会比较理想
    ragnaroks
        12
    ragnaroks  
    OP
       Jun 19, 2020
    @hljjhb
    windctl tail 应该是不能无障碍实现了,因为 wind 允许自身被存放在任意位置, windctl 要读日志那至少也需要加个配置项,我希望 windctl 是开箱即用的; 如果让 wind 来读取日志,并回复给 windctl ,再由 windctl 显示出来倒是可行,就是有点绕,特别是在 windows 下,不如直接打开日志目录让用户使用其它文本查看器...

    wind 托管的单元,也使用 wind 的日志模块,默认情况下,是按天来存储日志,不过没加入文件压缩
    ragnaroks
        13
    ragnaroks  
    OP
       Jun 21, 2020
    @hljjhb
    v2.4.3 预览版加入了 windctl logs <unitKey> 指令,可以显示最后 16 行日志内容, tail 这种实时的日志显示,暂时不会考虑加入,现在的重点是加入 attach 指令进入实时操作模式
    hljjhb
        14
    hljjhb  
       Jun 22, 2020 via Android
    @ragnaroks 感谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2758 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 15:42 · PVG 23:42 · LAX 08:42 · JFK 11:42
    ♥ Do have faith in what you're doing.