
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 :8080或ss -tlnp | grep 8080 - 确认
llama-server版本:llama-server --version - 确认操作系统版本:Linux, ARM64 (AArch64)
- 检查是否已设置环境变量
LLAMA_ARG_PORT(用于自定义默认端口)
解决步骤
- 检查端口 8080 占用情况:运行
sudo lsof -i :8080或ss -tlnp | grep 8080,确认是否有其他进程占用该端口。如有,可终止该进程或选择其他端口启动。 - 指定端口启动:使用
llama-server --port 8000启动,绕过端口冲突(用户已验证此方法可行)。 - 设置环境变量改变默认端口(可优先尝试):运行
export LLAMA_ARG_PORT=8000,然后启动llama-server,此时默认端口将改为 8000,无需每次都指定--port参数。 - 使用别名快捷指定端口:添加别名到 Shell 配置文件(如
~/.bashrc):alias llama-server='llama-server --port 8000'。 - 如问题持续,检查系统是否有多余的防火墙规则或端口转发规则干扰。
验证方法
启动 llama-server 后,访问 http://127.0.0.1:指定端口/app(例如 http://127.0.0.1:8000/app),确认不再返回 404 错误,而是正常返回 JSON 响应或 UI 页面。同时在控制台观察是否有绑定端口的日志信息。



