Qwen Code Web UI 部署记录 - AI生成
部署时间:2026-06-23 | 服务器:server_public_ip
环境信息
| 项目 |
值 |
| 服务器 |
阿里云 ECS(2C2G,CentOS/Alinux) |
| Node.js |
v22.23.0(通过 nvm 安装,不影响原 v16) |
| 模型 |
qwen-plus(阿里云 DashScope) |
| 工作目录 |
~/ai-lab/ |
部署步骤
1. 配置 DashScope API Key
1 2
| export OPENAI_API_KEY="******" export OPENAI_BASE_URL="https://dashscope.aliyuncs.com/compatible-mode/v1"
|
Qwen Code 兼容 OpenAI SDK 格式,通过 OPENAI_API_KEY 和 OPENAI_BASE_URL 即可对接阿里云 DashScope。
2. 安装 Qwen Code
1
| npm i -g @qwen-code/qwen-code
|
3. 启动 Web UI
1 2 3 4 5 6 7 8 9
| TOKEN=$(cat ~/.qwen/server-token)
cd ~/ai-lab && nohup qwen serve \ --port 8080 \ --hostname 0.0.0.0 \ --token "$TOKEN" \ --enable-session-shell \ --allow-origin "*" \ > ~/.qwen/serve.log 2>&1 &
|
参数说明
| 参数 |
说明 |
--port 8080 |
服务端口 |
--hostname 0.0.0.0 |
允许外网访问(默认仅 localhost) |
--token |
访问认证 Token(文件 ~/.qwen/server-token 中) |
--enable-session-shell |
启用多会话 Shell 模式 |
--allow-origin "*" |
允许跨域请求(必须加,否则浏览器端只能读不能发 POST,报 403) |
访问方式
1
| http://server_public_ip:8080/?token=qwen-********
|
- 端口:8080
- Token:
qwen-********
- 首次带 token 访问后浏览器会保存 cookie,后续直接访问
http://server_public_ip:8080 即可
常见问题
报 {"error":"Unauthorized"}
Token 未正确传递。确认 URL 中带查询参数 ?token=xxx,格式如下:
1
| http://server_public_ip:8080/?token=qwen-********
|
注意:token 是查询参数,不是 URL 路径(/session/xxx 这种格式是错的)。
浏览器能打开但无法发消息(POST 403)
缺少 --allow-origin "*" 参数。非 localhost 绑定模式下,Qwen serve 默认开启 CORS 限制,只能读不能写。重启服务加上该参数即可。
管理命令
1 2 3 4 5 6 7 8 9 10
| ps aux | grep "qwen serve" | grep -v grep
tail -f ~/.qwen/serve.log
pkill -f "qwen serve"
|
资源占用
| 进程 |
RSS 内存 |
说明 |
qwen serve(主服务) |
~176 MiB |
Node.js 主守护进程 |
qwen --acp(Agent) |
~176 MiB |
AI 推理 Agent 进程 |
| 合计 |
~350-400 MiB |
单会话模式 |
⚠️ 服务器总内存 1.8 GiB,Qwen 服务占 ~20%,余量不多。同时只建议跑一个活跃会话。