手机没有Docker?没关系!本教程教你用Termux+Node.js在手机上部署Qwen2API,3000端口+自定义账户,全程手机操作!由于ollama国内源大部分无法安装,所以我又给大家研究了Qwen2API,同样是免费的可以用大模型,不是免费额度,是完全免费的
一、什么是Qwen2API?
Qwen2API是一个开源项目,将通义千问网页版API转换为OpenAI兼容格式的代理服务。支持多账户轮询、图像生成、智能搜索、推理模式等功能。
项目地址:https://github.com/Rfym21/Qwen2API
二、安装Termux
Termux是Android上的终端模拟器,无需root即可运行Linux命令。
2.1 下载安装
- 官方渠道:F-Droid或GitHub下载(不要用应用商店版本)
- F-Droid地址:https://f-droid.org/packages/com.termux/
- GitHub地址:https://github.com/termux/termux-app/releases
⚠️ 注意:务必从F-Droid或GitHub下载,应用商店的版本已过时无法使用!
2.2 初始化环境
打开Termux,执行以下命令:
# 更新软件源
pkg update && pkg upgrade -y
# 安装必要工具
pkg install git -y
三、安装Node.js
Qwen2API基于Node.js运行,需要安装18以上版本。
3.1 安装Node.js
# 安装Node.js
pkg install nodejs -y
# 验证安装
node -v
npm -v
✅ Node.js版本需要 >= 18,如果版本过低,使用以下命令安装最新版:
# 安装node版本管理器
npm install -g n
# 安装最新LTS版本
n lts
# 验证版本
node -v
四、安装Qwen2API
4.1 克隆项目
# 克隆项目
git clone https://github.com/Rfym21/Qwen2API.git
# 进入项目目录
cd Qwen2API
# 安装依赖
npm install
4.2 配置环境变量
# 复制配置文件模板
cp .env.example .env
# 编辑配置文件
nano .env
修改以下关键配置:
# 服务端口(改为3000)
SERVICE_PORT=3000
# 监听地址(改为0.0.0.0允许外部访问)
LISTEN_ADDRESS=0.0.0.0
# API密钥(第一个为管理员密钥)
API_KEY=sk-admin123,sk-user456
# 数据保存模式(file模式持久化)
DATA_SAVE_MODE=file
# 图片缓存模式
CACHE_MODE=file
💡 提示:在nano编辑器中,按 Ctrl+O 保存,Ctrl+X 退出。
五、启动服务
5.1 直接启动(测试用)
cd ~/Qwen2API
npm start
看到类似以下输出表示启动成功:
Server running on port 3000
5.2 使用PM2后台运行(推荐)
直接启动关闭Termux就会停止,用PM2可以后台常驻运行:
# 安装PM2
npm install -g pm2
# 启动Qwen2API
cd ~/Qwen2API
pm2 start src/start.js --name qwen2api
# 查看运行状态
pm2 status
# 查看日志
pm2 logs qwen2api
# 设置开机自启
pm2 startup
pm2 save
5.3 使用nohup后台运行(备选)
如果PM2有问题,可以用nohup:
cd ~/Qwen2API
nohup npm start > qwen2api.log 2>&1 &
# 查看日志
tail -f qwen2api.log
六、访问管理界面
6.1 手机本地访问
服务启动后,在手机浏览器访问:
http://localhost:3000
6.2 局域网内其他设备访问
查看手机IP地址:
# 查看手机IP
ifconfig
# 或
ip addr
然后在同一WiFi下的电脑浏览器访问:
http://手机IP:3000
6.3 外网访问(内网穿透)
如果需要外网访问,可以使用内网穿透工具:
方案1:使用cpolar
# 安装cpolar
pkg install cpolar -y
# 或者下载ARM版本
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | bash
# 创建隧道
cpolar http 3000
方案2:使用ngrok
# 下载ngrok
pkg install wget -y
wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-arm64.tgz
tar -xvf ngrok-v3-stable-linux-arm64.tgz
# 创建隧道
./ngrok http 3000
七、添加自定义账户
7.1 获取Qwen账户Cookie
- 手机浏览器访问 https://chat.qwen.ai
- 登录你的阿里云账号
- 在浏览器地址栏输入
javascript:void(document.title=document.cookie)获取Cookie - 或使用浏览器的"检查元素"功能查看Cookie
7.2 通过Web界面添加
- 浏览器访问
http://localhost:3000 - 输入管理员API Key登录
- 进入「账户管理」页面
- 点击「添加账户」
- 粘贴Cookie信息并保存
7.3 通过配置文件添加
# 编辑数据文件
nano ~/Qwen2API/data/data.json
添加账户信息:
{
"accounts": [
{
"id": "account_01",
"cookie": "你的Cookie内容",
"enabled": true
}
]
}
保存后重启服务:
pm2 restart qwen2api
八、API调用测试
8.1 获取模型列表
curl http://localhost:3000/v1/models \
-H "Authorization: Bearer sk-admin123"
8.2 聊天对话
curl http://localhost:3000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-admin123" \
-d '{
"model": "qwen-max-latest",
"messages": [
{"role": "user", "content": "你好"}
]
}'
九、常见问题排查
9.1 npm install报错
# 清除缓存重试
npm cache clean --force
rm -rf node_modules
npm install
9.2 端口被占用
# 查看3000端口占用
lsof -i :3000
# 杀掉占用进程
kill -9 进程ID
# 或修改.env中的端口
SERVICE_PORT=8080
9.3 Termux被系统杀死
Android可能会在后台杀死Termux进程,解决方法:
- 在手机设置中关闭Termux的电池优化
- 锁定Termux在最近任务中
- 使用
termux-wake-lock防止休眠
# 防止手机休眠
termux-wake-lock
9.4 服务重启后丢失
# 重新启动服务
cd ~/Qwen2API
pm2 restart qwen2api
# 如果PM2也丢了
pm2 start src/start.js --name qwen2api
pm2 save
十、完整命令汇总
从零开始的完整命令流程:
# 1. 更新环境
pkg update && pkg upgrade -y
pkg install git nodejs -y
# 2. 克隆项目
git clone https://github.com/Rfym21/Qwen2API.git
cd Qwen2API
npm install
# 3. 配置环境
cp .env.example .env
nano .env
# 修改: SERVICE_PORT=3000
# 修改: LISTEN_ADDRESS=0.0.0.0
# 修改: API_KEY=sk-admin123,sk-user456
# 修改: DATA_SAVE_MODE=file
# 4. 启动服务
npm install -g pm2
pm2 start src/start.js --name qwen2api
pm2 save
# 5. 防止休眠
termux-wake-lock
# 6. 访问管理界面
# http://localhost:3000
十一、总结
通过本教程,你在手机上完成了:
- ✅ Termux环境搭建
- ✅ Node.js安装
- ✅ Qwen2API项目部署
- ✅ 3000端口服务配置
- ✅ PM2后台运行管理
- ✅ 自定义账户添加
- ✅ 内网穿透外网访问
现在你的手机就是一台Qwen2API服务器了!
项目地址:https://github.com/Rfym21/Qwen2API
交流群:Telegram @nodejs_project
夜雨聆风