最近看不少用手机折腾AI代理服务的小伙伴都在吐槽:明明按照教程一步步来了,为什么重新部署CLIProxyAPI(俗称CPA)时,总是访问不了管理后台,一直报404错误?

特别是Termux这种“删了APP数据就重头再来”的环境,很多配置细节很容易被忽略。别慌,这大概率不是你操作失误,而是踩了Android Linux环境的几个隐蔽的坑。今天我们就来把这层窗户纸捅破,帮你把服务跑起来。

哪怕是老手,重装也得看清这几步

很多时候,404错误是因为服务根本就没在跑,或者跑在了不对的地方。我们先按标准流程快速过一遍,重点看那些容易翻车的细节:

1. 选对版本是前提

安卓手机基本都是ARM架构,下载时一定要认准 linux_arm64 的版本。千万别手抖下成了x86版本,那样解压完也是跑不起来的。下载链接在GitHub的Releases页面里找对应版本即可。

2. 解压路径有讲究

建议直接在Termux的 ~/ 目录下操作,也就是 ~/CLIProxyAPI 这样的路径。如果解压到了安卓系统的Download目录下,可能会因为权限问题导致无法启动配置。

3. 启动命令不能丢参数

很多教程虽然写了启动,但可能省略了参数。最稳妥的启动方式是指定端口和管理密钥:

./CLIProxyAPI -p 8317 -k 123456

Termux下检查服务进程的截图

在Termux中使用 ps aux 命令检查CLIProxyAPI进程是否正在运行

这里的 -p 是端口,-k 是你的管理密钥(Key)。如果不指定,程序可能会读取默认配置文件里的数值(如果配置文件丢失或路径变了,就会出问题)。

遇到404?这几招精准排错

Termux下使用nohup启动服务

使用 nohup 命令将CLIProxyAPI挂起在后台运行,防止被系统杀掉

如果你觉得命令敲对了,访问 http://localhost:8317/management.html#/login 还是404,请按顺序检查下面这几个“凶手”:

1. Termux的“后台”陷阱

这是最常见的问题!Termux不像Linux服务器,如果你直接运行命令后,没有用 tmuxnohup 挂起,一旦你把APP切回后台或者息屏,进程可能会被系统杀掉。

网络连接报错截图

如果监听地址配置错误,外网访问时会出现连接失败

  • 排查方法:输入 ps aux | grep CLIProxyAPI。如果看不到进程,说明服务根本没在运行,切后台的时候挂了。

  • 解决方案:使用 nohup ./CLIProxyAPI -p 8317 -k 123456 & 启动,或者装一个 tmux 创建新会话来运行,这样更稳。

2. 监听地址搞错了

有些旧版本的二进制文件,或者你在手动配置时,可能默认只监听 127.0.0.1。虽然你在手机本机访问用的是localhost没问题,但如果你是想用电脑浏览器访问手机IP,就会连不上。

如果在 Termux 内部 curl localhost:8317 能返回内容,但外网访问不了,这就是启动时没指定监听 0.0.0.0

不过对于CLIProxyAPI这个项目,通常默认是全监听的,建议优先检查启动时的输出日志,看看有没有报端口占用。

3. 端口冲突或被占用

如果你之前装过一遍没卸载干净,或者在Termux里起了好几次进程,端口8317可能被旧进程占着了。新的进程起不来,自然404。

  • 排查方法:输入 netstat -tulnp | grep 8317

  • 解决方案:如果看到LISTEN状态,记得杀掉旧进程:kill -9 <PID>,然后再重新启动新的服务。

4. 路由后缀迷雾

你访问的URL是 /management.html#/login,注意这里的前缀。有些反代或者某些版本,实际上访问根目录 / 可能会有跳转提示,或者文件内部路径有变化。

  • 尝试方案:直接访问 http://localhost:8317/ 看看有没有返回JSON数据或API提示。如果根目录有东西,但 /management.html 没有,可能是版本更新导致前端文件目录变了。这时建议去GitHub项目页确认一下最新的文档示例。

写在最后

手机折腾这种服务,最怕的就是环境不稳定。如果排查完以上步骤(尤其是确认服务Process是否存在)还是不行,建议直接删除当前所有解压文件,重新下载一个最新的Release包,不要用以前缓存的文件,并严格按照上面的步骤指定 -p-k 参数启动。

折腾不易,遇到问题先看日志、再看进程、最后看端口,这套组合拳能解决90%以上的“玄学”Bug。

标签: none

评论已关闭