Misc. bug: .`llama-server` starts on wrong port

用户在 Linux aarch64 系统上运行 llama-server (版本 9439, built with GNU 16.1.1)时,未指定 --port 参数,预期默认端口为 8080,但访问 http://127.0.0.1:8080/app 返回 404 错误。用户推测 llama-s

Misc. bug: .`llama-server` starts on wrong port

Misc. bug: .`llama-server` starts on wrong port

快速结论:运行 llama-server 时未指定端口,默认端口 8080 可能被其他进程占用,导致访问时返回 404 错误。优先排查端口 8080 是否被占用,或指定其他端口(如 --port 8000)启动。

问题场景

用户在 Linux aarch64 系统上运行 llama-server(版本 9439, built with GNU 16.1.1)时,未指定 --port 参数,预期默认端口为 8080,但访问 http://127.0.0.1:8080/app 返回 404 错误。用户推测 llama-server 在未指定端口时可能启动在其他端口上。

报错原文

{
  "error": {
    "message": "File Not Found",
    "type": "not_found_error",
    "code": 404
  }
}

原因分析

可能原因:

  • 默认端口 8080 被其他进程占用(如其他 Web 服务或之前残留的 llama-server 进程),导致 llama-server 无法绑定该端口,返回 404 错误。
  • 用户环境中可能存在自动端口转发或代理干扰访问路径。
  • 用户未指定端口时,llama-server 未自动切换到其他端口,而是直接报错或返回 404。

Issue 讨论中,维护者建议检查是否存在其他进程占用默认端口 8080。后续用户反馈问题自行消失,猜测是系统中其他程序释放了端口。

环境排查

  • 确认当前系统中是否有进程占用端口 8080:sudo lsof -i :8080ss -tlnp | grep 8080
  • 确认 llama-server 版本:llama-server --version
  • 确认操作系统版本:Linux, ARM64 (AArch64)
  • 检查是否已设置环境变量 LLAMA_ARG_PORT(用于自定义默认端口)

解决步骤

  1. 检查端口 8080 占用情况:运行 sudo lsof -i :8080ss -tlnp | grep 8080,确认是否有其他进程占用该端口。如有,可终止该进程或选择其他端口启动。
  2. 指定端口启动:使用 llama-server --port 8000 启动,绕过端口冲突(用户已验证此方法可行)。
  3. 设置环境变量改变默认端口(可优先尝试):运行 export LLAMA_ARG_PORT=8000,然后启动 llama-server,此时默认端口将改为 8000,无需每次都指定 --port 参数。
  4. 使用别名快捷指定端口:添加别名到 Shell 配置文件(如 ~/.bashrc):alias llama-server='llama-server --port 8000'
  5. 如问题持续,检查系统是否有多余的防火墙规则或端口转发规则干扰。

验证方法

启动 llama-server 后,访问 http://127.0.0.1:指定端口/app(例如 http://127.0.0.1:8000/app),确认不再返回 404 错误,而是正常返回 JSON 响应或 UI 页面。同时在控制台观察是否有绑定端口的日志信息。

参考来源

ggml-org/llama.cpp #24224

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 9022

发表回复

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