jackson преди 2 седмици
родител
ревизия
ddced266c9
променени са 1 файла, в които са добавени 54 реда и са изтрити 1 реда
  1. 54 1
      README.md

+ 54 - 1
README.md

@@ -135,7 +135,60 @@ Gateway 根据 `gateway_session_id` 从 Redis 读取当前员工的 `mcp_token`
 - 当前公网模式默认 TTL 为 30 天,可通过 `FMS_GATEWAY_SESSION_TTL_SECONDS` 调整。
 - 如果 token 已失效但 Redis session 仍存在,下一次工具调用会被 ThinkPHP 拒绝。
 
-## 常用命令
+## 重启公网 MCP 服务
+
+当前公网 MCP 服务端口是 `8765`,对外地址类似:
+
+```text
+http://192.168.1.241:8765/mcp
+```
+
+注意:当前项目没有单独的 `restart` 子命令,也没有 Windows 服务管理脚本。这里说的“重启”就是先停掉旧的 `serve-public` 进程,再用启动命令重新拉起。
+
+### 只停止旧服务
+
+如果你只是想停掉旧服务,不马上重新启动,执行这两行就够了:
+
+```powershell
+$conn = Get-NetTCPConnection -LocalPort 8765 -State Listen -ErrorAction SilentlyContinue | Select-Object -First 1
+if ($conn) { Stop-Process -Id $conn.OwningProcess -Force }
+```
+
+第一行是查找谁在监听 `8765` 端口;第二行才是真正停止这个进程。执行后如果 `$conn` 为空,说明当前没有旧服务在运行。
+
+想先确认要停的是哪个进程,可以在 `Stop-Process` 前执行:
+
+```powershell
+if ($conn) { Get-Process -Id $conn.OwningProcess }
+```
+
+只停止以后,`/health` 检查会连不上,这是正常的;要恢复服务再执行下面的启动命令。
+### 推荐命令:按端口停止旧服务后启动
+```powershell
+$conn = Get-NetTCPConnection -LocalPort 8765 -State Listen -ErrorAction SilentlyContinue | Select-Object -First 1
+if ($conn) { Stop-Process -Id $conn.OwningProcess -Force }
+Set-Location Y:\mcp
+python app.py serve-public --host 0.0.0.0 --port 8765
+```
+
+如果服务就在你当前这个 PowerShell 窗口里运行,也可以先按 `Ctrl+C` 停掉旧服务,然后再执行启动命令:
+
+```powershell
+Set-Location Y:\mcp
+python app.py serve-public --host 0.0.0.0 --port 8765
+```
+
+后续如果接入 NSSM、计划任务、Windows 服务或其他进程管理器,再把这里改成对应的 `restart` 命令。
+
+### 健康检查
+
+重启后用下面命令确认服务已经起来:
+
+```powershell
+Invoke-WebRequest http://127.0.0.1:8765/health -UseBasicParsing
+```
+
+正常情况下会返回包含 `ok` 的 JSON。## 常用命令
 
 查看工具列表: