ARTICLE DETAIL

资讯详情

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

Jackett 种子 Tracker API 部署一次讲清:三系统场景化落地指南

Jackett 种子 Tracker API 部署一次讲清:三系统场景化落地指南 Jackett 种子 Tracker API 部署一次讲清三系统场景化落地指南上周帮同事在 VPS 上部署 Jackett——一个把 Sonarr、Radarr 这类应用的查询翻译成各 Torrent Tracker 站点 HTTP 请求、再以标准 Torznab 格式返回结果的聚合 API——Linux 安装脚本刚走到生成 unit 文件那一步就报错停住目录属主是 root拒绝启动。说白了Jackett 跨平台部署的难点不在代码本身而在每个系统启动前都会做的那几道权限/环境检查。这篇文章不按平台逐个讲而是按首次拉起 → 挂成后台服务 → 日常运维排障的真实落地顺序走一遍三个操作系统的差异在每个环节里就地对比。先花 30 秒判断你的机器该走哪条路落到实际操作上三条路径的入口完全不同Windows根目录双击jackett_launcher.bat。这个脚本会先循环等待自动更新进程 JackettUpdater.exe 结束再拉起托盘程序所以启动慢几秒是正常的。Linux / macOS解压后在终端直接执行 jackett_launcher.sh脚本会用--NoRestart参数启动 jackett 可执行文件并在退出前等更新器收尾。如果本地还没有项目文件先执行 git clone https://gitcode.com/GitHub_Trending/ja/Jackett 拿到它。判断系统类型的逻辑封装在 Jackett.Common 的 EnvironmentUtil 工具类里就一个属性在问运行时你是不是 Windows配套的 src/Jackett.Server/Program.cs 里还会拦截 Windows 专属参数如 ReserveUrls在其他平台传入会直接报错退出。所以别从 Windows 教程里照抄启动参数。三条路径最终都指向同一个页面浏览器打开http://localhost:9117看到下面这张已配置 Indexer 列表且每行 Test 打勾首次拉起就算完成。后台运行三个系统各有一套服务注册方式Linux 走 systemd。仓库根目录的 install_service_systemd.sh 按固定顺序做四件事确认以 root 执行、停止旧有的 jackett.service、检查 Jackett 目录属主、向/etc/systemd/system/写入 unit 文件后再 reload、enable、start。生成的 unit 会用目录属主身份运行启动脚本并配置Restartalways加 5 秒重启间隔——这就是崩溃自动恢复的来源。sudo bash install_service_systemd.sh⚠️ 这里有个坑如果目录属主是 root脚本会在检查阶段直接退出并提示改属主。把它改成你的日常用户再重跑sudo chown -R $USER:$USER /path/to/JackettmacOS 走 launchd。install_service_macos 脚本会先卸载可能残留的旧 Agent再向~/Library/LaunchAgents/写入org.user.Jackett.plist开启 KeepAlive 和开机自启最后 bootstrap 到用户 gui 域。别急着跑下一步——macOS 还有一层隔离属性浏览器下载的文件会被打上 quarantine 标记导致运行受阻脚本会自动改写 jackett 可执行文件和所有 .dylib、.dll 上的 quarantine 位。如果加载失败脚本会直接打印 launchctl 诊断输出报 issue 时原样贴上去即可。Windows 最省事用 src/Jackett.Service/ 下的服务模块注册为系统服务它本质上是在服务启动时拉起 JackettConsole.exe 控制台进程并监听其退出事件在服务管理器里把 Jackett Service 设为自动启动即可。端口被占或提示already running怎么排查如果第二次启动时日志里出现Address already in use: Most likely Jackett is already running这不是新故障而是上一个 Jackett 进程还占着端口。处理顺序三步先找残留进程——Linux 用pgrep -f jackettWindows 看任务管理器里的 JackettConsole/JackettTray杀掉后重试确要共存或端口固定冲突时再改端口默认 9117 写在服务器配置的 Port 字段里见 ServerConfig 默认值可通过启动参数、配置页或应用数据目录下的 appsettings.json 修改改完必须重启进程或服务才生效改配置不重启是最常见的假失败。如果这一步卡住了把启动命令换成前台模式跑一次报错信息会比服务日志直白得多。私有 Tracker 配不通cookie 到底从哪拿公开源加完就能 Test 通过卡住你的多半是私有站点的 cookie 填写。正确姿势登录 Tracker 站点后打开浏览器开发者工具切到 Network 面板刷新页面选中主页请求在 Request Headers 里找到整串 Cookie 值复制出来粘贴到 Jackett 对应 Indexer 的配置页。粘贴后点该行 Test变绿即可用。多 Tracker 聚合效果可以在 Manual Search 页验证一个关键词同时打到多个已配置的 Indexer结果按发布时间合并成一张表。日常运维更新、日志与重启各管什么Jackett 内置更新器两个平台的启动脚本.bat 和 .sh都设计成等更新器退出后才正式启动进程升级期间不会出现半新半旧的二进制不需要手动干预。日志统一由 Utils/Logging 下的组件写入应用数据目录服务进程另有独立的 ServiceLog.txt。定性地说同等负载下 Linux 的资源占用相对最低、服务管理最完善适合长期挂机Windows 桌面体验最顺手macOS 每次系统大版本升级后建议复查一次 Agent 状态。看完就确认这三件事✅ 现在就做一条命令确认服务已拉起sudo systemctl status jackettWindows 用户改为打开服务管理器确认 Jackett Service 状态为正在运行macOS 用户执行launchctl list | grep Jackett。服务状态正常后回浏览器刷新http://localhost:9117挑一个刚加上的 Indexer 点一次 Test——绿勾出现部署就算真正落地了。创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表