跳到主要内容

旧版客户端服务的维护与换新

以前用 install-service --name 装的旧版服务,如何查看状态、重启、卸载,以及怎样换成新版。

适用场景

设备上是以前用 install-service --name default 这类命令安装的旧版服务(每条隧道一个服务实例)。新设备请直接看 命令行客户端入门。

新版不会自动接管或覆盖旧版服务,两者的命令不能混用。

前置条件

  • 知道旧服务的实例名。大多数是 default,如果当初自定义过,下文的 default 都要换成你的实例名。
  • 管理员权限:Windows 用管理员 PowerShell,Linux/macOS 用 sudo。
  • 下文的 wyc-client 换成旧版程序的实际路径。

操作步骤

第 1 步:确认是不是旧版

对比 旧版 新版
安装命令 install-service --name,需要令牌 install,不需要令牌
多条隧道 每条一个服务 一个服务管多条
启停命令 start-service --name default start 123
官网设备管理 不支持 支持

系统里的旧版服务名:Windows WYCClient-default,Linux wyc-client@default.service,macOS net.wangyunchuan.wyc-client.default。

第 2 步:查看状态和日志

wyc-client status --name default
wyc-client logs --name default --lines 100
wyc-client logs --name default --follow

成功后会看到:服务状态、配置文件和日志路径。--follow 按 Ctrl+C 只退出查看。

检查连接是否正常(配置路径从 status 里复制):

wyc-client doctor --config <配置路径>

第 3 步:启动、停止、重启

wyc-client stop-service --name default
wyc-client start-service --name default
wyc-client restart-service --name default

第 4 步:升级旧版

用下载页提供的兼容版本,在新解压的目录里执行:

wyc-client upgrade-service

升级会让该程序下的所有旧实例短暂断开。升级后逐个检查实例状态和外网访问。

第 5 步:换成新版(推荐的顺序)

  1. 记下每条隧道的名称、内网地址和访问地址。
  2. 最好在另一台设备上安装新版:Windows、Linux、macOS。
  3. 停止旧实例(stop-service --name default),在新版里 add 并 start 同一条隧道。
  4. 外网测试通过后,再卸载旧实例。

只能用同一台设备时,先卸载并清除旧实例(见第 6 步),再安装新版,中间会断开一段时间。

成功后会看到:新版里隧道已连接,外网访问正常。

第 6 步:卸载旧实例

wyc-client uninstall-service --name default
wyc-client uninstall-service --name default --purge

第一条删除服务但保留配置;第二条同时清除这个实例的配置和数据。核对实例名,别误删还在用的其他实例。Windows 建议用单独解压出来的程序执行。

成功检查

  • 维护后目标实例状态正确,外网访问正常。
  • 换新后只有新版在运行这条隧道,其他未迁移的旧实例不受影响。

常见错误

现象 怎么办
新版安装提示检测到旧版服务 这是保护措施,按第 5、6 步处理旧实例,不要手动删文件
status 看不到旧实例 加上 --name 实例名,并使用旧版程序
重新安装后旧配置还在 普通卸载会保留配置,要清除用 --purge
想用旧版抢回已换到新版的隧道 不支持,需在官网切换运行设备,见 更换运行设备

相关教程

命令行客户端入门 · 高级参数 · 更换运行设备 · 日志、升级与卸载