NSSM(Non-Sucking Service Manager)怎么用


既然你已经在用 0.66 版本的 frpc 了,最稳妥、最专业的做法是直接把 frpc.exe 变成 Windows 服务。

这样做不仅能实现开机不登录即运行,还能在 frpc 崩溃时自动重启。你可以彻底抛弃那个容易被杀毒软件盯着的 .vbs 脚本。

推荐使用 NSSM (Non-Sucking Service Manager),它是目前公认最简单好用的工具。

第一步:下载 NSSM

  1. 访问 NSSM 官网下载页面
  2. 下载并解压。根据你的系统进入 win64 文件夹。
  3. 为了方便,你可以把 nssm.exe 复制到你的 frpc.exe 所在的文件夹里。

第二步:安装为服务

  1. 点击“开始”菜单,输入 cmd右键选择“以管理员身份运行”
  2. 在命令行中进入你的 frp 目录。例如:DOScd /d C:\frp
  3. 输入以下命令并回车:DOSnssm install frpc
  4. 在弹出的窗口中进行如下设置:
    • Path (程序路径): 选择你的 frpc.exe
    • Startup directory (启动目录): 会自动填充,通常就是 frpc 所在文件夹。
    • Arguments (参数): 输入 -c frpc.toml (注意:这里一定要填入配置文件名)。
  5. 点击 Install service

第三步:验证并启动

  1. 按下 Win + R,输入 services.msc
  2. 找到名为 frpc 的服务。
  3. 右键点击它,选择**“启动”**。
  4. 检查: 确保“启动类型”是“自动”。现在,即使你重启电脑且不登录用户,frpc 也会在后台默默运行。

⚠️ 特别提醒(避坑指南)

  • 路径权限: 既然是系统服务运行,确保你的 frpc 文件夹不要放在某个用户的“桌面”或“下载”文件夹里(因为权限受限)。建议放在 C:\frpD:\frp
  • 配置文件中的路径: 在你的 frpc.toml 中,如果有 log.to = "./frpc.log" 这种相对路径,建议改为绝对路径,例如 log.to = "C:/frp/frpc.log",防止服务找不到地方写日志。
  • 防火墙: 记得在 Windows 防火墙里给 frpc.exe 放行,否则虽然服务运行了,流量可能进不来。

如果以后你想删除这个服务,只需要管理员运行 CMD 执行: nssm remove frpc confirm

居然很多年前的东西还很好用,赞一个


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注