V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
ragnaroks
V2EX  ›  分享创造

wind

  •  
  •   ragnaroks · 2020-06-13 17:43:35 +08:00 · 2666 次点击
    这是一个创建于 1625 天前的主题,其中的信息可能已经有所发展或是发生改变。

    github

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

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

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

    status

    第 1 条附言  ·  2020-06-21 23:33:25 +08:00

    草,图挂了

    第 2 条附言  ·  2020-06-23 17:49:01 +08:00

    看不到图请挂代理

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

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

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

    感谢支持,我比微软更懂 windwos
    huaouo
        7
    huaouo  
       2020-06-14 19:17:37 +08:00 via iPhone
    感觉有点像 https://nssm.cc/
    hljjhb
        8
    hljjhb  
       2020-06-17 13:32:19 +08:00 via Android
    进化版的 winsw🤔

    winsw 不好集中管理,不过本职工作更到位一点
    hljjhb
        9
    hljjhb  
       2020-06-17 13:44:56 +08:00
    突然发现反应过来之前 Wind2 的帖子就回复过

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

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

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

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

    wind 托管的单元,也使用 wind 的日志模块,默认情况下,是按天来存储日志,不过没加入文件压缩
    ragnaroks
        13
    ragnaroks  
    OP
       2020-06-21 16:59:39 +08:00
    @hljjhb
    v2.4.3 预览版加入了 windctl logs <unitKey> 指令,可以显示最后 16 行日志内容, tail 这种实时的日志显示,暂时不会考虑加入,现在的重点是加入 attach 指令进入实时操作模式
    hljjhb
        14
    hljjhb  
       2020-06-22 11:02:17 +08:00 via Android
    @ragnaroks 感谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   884 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 21:45 · PVG 05:45 · LAX 13:45 · JFK 16:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.