ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

WinBoat 部署实测:重启三次,看 Windows 服务到底能不能自愈

WinBoat 部署实测:重启三次,看 Windows 服务到底能不能自愈 WinBoat 部署实测重启三次看 Windows 服务到底能不能自愈【免费下载链接】winboatRun Windows apps on Linux with ✨ seamless integration项目地址: https://gitcode.com/GitHub_Trending/wi/winboat在 Linux 上跑 Windows 应用容器本身不算难搞真正折腾人的是虚拟机里的常驻服务——机器一重启之前手动配的服务就全没了。WinBoat 是在 Linux 上运行 Windows 应用的工具它把 Guest 服务的注册、开机自启、端口放行写进了自动化部署脚本更新失败还能自动回滚。下面是我在自己机器上按先验收、再安装、出问题再查的顺序做的一遍部署记录。 验收前置部署 WinBoat 后要确认的三件事第一件仪表盘上 Guest API - Online 变绿装完之后先打开 WinBoat 首页只要 Guest API - Online 指示器变绿就说明 Windows 内部那个 Go 写的小服务已经跑起来了。它就是 Linux 侧和虚拟机里的 Windows 之间唯一的通信窗口取应用列表、查 CPU 和内存指标、看当前有没有 RDP 会话全走它。第二件核对两个端口和运行账户7148Guest API 主服务对外提供/health、/apps、/metrics、/rdp/status等接口7150Updater 更新服务只负责接收推送过来的更新包两个服务都由 nssm 注册运行账户是NT AUTHORITY\SYSTEM而不是你的登录账户这一点验收时值得留意——以后改多少回密码服务都不受影响。首次安装向导只挑两项服务注册全靠脚本版本和语言是唯一的手动项点安装后打开向导只需要选 Windows 版本和语言点 Next 之后屏幕就只剩 Installing Windows 的进度条了。版本和语言装完基本改不动所以向导只留这两项剩下它依次在后台生成 compose 文件、启动容器、装 Windows最后一步是在 Windows 内部执行 install.bat。install.bat 按顺序干了什么翻一遍脚本整个过程是这样的导入RDPApps.reg注册表把C:\Program Files\WinBoat加进 Defender 排除项再用xcopy /E把C:\OEM的负载文件拷过去避免写入时被实时扫描拖慢nssm install注册WinBoatGuestServer和WinBoatGuestServerUpdater两个服务均设SERVICE_AUTO_START以 SYSTEM 身份运行用netsh放行 TCP 7148 和 7150 的入站规则建一个TimeSyncTask计划任务开机时同步时间重启验证与故障排查自启、回滚和三个高频故障点观察两个服务开机自启把机器彻底关机再开Windows 起来之后这两个服务会自己拉起首页的在线状态重新变绿桌面环境也照常可用。这就是部署完之后唯一需要做的验证动作。更新回滚长什么样Updater 服务监听 7150 端口收到新版包之后先换目录然后去请求 7148 的/health健康检查通过了才算更新成功失败就自动退回旧版。有点像试用期新版先试运行考不过就还是老版本顶上全程不用人守在旁边。服务不响应、端口被占怎么查仪表盘一直 Offline → 服务没起来手动拉一把nssm start WinBoatGuestServer装服务那一步失败 → 怀疑 nssm.exe 损坏对照 nssm.sha1.txt 校验后重新拷贝7148 被别的程序占着 →netstat -ano | findstr 7148找出 PID 再处理改安装目录要同步改三处如果不想把服务放在C:\Program Files\WinBoat有三处要一起改install.bat 里的WB_DIR、执行nssm set WinBoatGuestServer AppDirectory 新路径、把防火墙规则也指过去。只改其中一处服务就直接起不来改完记得重启服务再走一遍上面的验收。开机自启 更新前健康检查 失败自动回滚这套组合才是 WinBoat 对常驻服务的完整托管思路容器也好、虚拟机也好只要里面需要后台服务这套验收和排查方法基本都能直接搬过去用。【免费下载链接】winboatRun Windows apps on Linux with ✨ seamless integration项目地址: https://gitcode.com/GitHub_Trending/wi/winboat创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表