1. 为什么要在安卓手机上部署青龙面板?
青龙面板是一款基于Docker的定时任务管理工具,最初是为服务器环境设计的。但很多用户发现,其实安卓手机也能跑起来——只要你的手机性能不是太差。我实测过,一台中端配置的安卓手机(比如骁龙7系处理器+6GB内存)运行青龙面板完全没问题,挂个京东脚本、签到任务绰绰有余。
移动端部署的优势很明显:
- 不用额外花钱买服务器
- 闲置手机变废为宝
- 随时随地用浏览器管理任务
- 比云服务器更隐私(数据完全在本地)
不过传统方法需要root权限,这对大多数用户来说门槛太高。现在通过Termux+Alpine的组合,完全不需要root就能实现容器化部署,这才是真正的"零基础"方案。
2. 准备工作:Termux与Alpine环境配置
2.1 安装Termux高级终端
推荐使用ZeroTermux这个增强版(原版Termux也能用,但操作更复杂)。这个魔改版自带容器管理功能,特别适合青龙面板部署。
安装步骤:
- 从可信渠道下载APK(建议去GitHub找官方发布)
- 安装后打开应用,先执行这个关键命令:
termux-setup-storage这步会申请存储权限,成功后会在home目录看到storage文件夹。如果没弹出权限申请,去手机设置里手动给应用授予存储权限。
遇到过的问题:有些MIUI系统会默认禁止Termux的存储权限,需要在「应用管理-权限」里手动开启。如果执行命令后没生成storage目录,八成是权限没给对。
2.2 Alpine Linux环境部署
Alpine是个只有5MB大小的迷你Linux系统,非常适合在手机端运行。在Termux里安装只需两行命令:
curl -LO https://raw.githubusercontent.com/Hax4us/TermuxAlpine/master/TermuxAlpine.sh bash TermuxAlpine.sh安装完成后,用这个命令进入Alpine环境:
termux-alpine验证是否成功:执行ls -a,如果看不到.termux文件夹,说明已经处在Alpine系统中。需要退回Termux原生环境时,执行exit即可。
3. 青龙面板的安装与配置
3.1 一键安装脚本详解
在Alpine环境下执行这个自动化脚本(建议完整复制):
set -x \ && echo -e "\n\ export QL_DIR=/ql\n\ export QL_BRANCH=develop\n\ export LANG=zh_CN.UTF-8\n\ export TERMUX_APK_RELEASE=F-DROID\n\ export SHELL=/bin/bash\n\ export PNPM_HOME=~/.local/share/pnpm\n\ export PATH=\$PATH:~/.local/share/pnpm:~/.local/share/pnpm/global/5/node_modules\n" \ >> /etc/profile.d/ql_env.sh \ && source /etc/profile \ && echo -e "nameserver 119.29.29.29\n\ nameserver 8.8.8.8" > /etc/resolv.conf \ && sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories \ && apk update -f \ && apk upgrade \ && apk --no-cache add -f bash make nodejs npm \ coreutils moreutils git curl wget tzdata perl \ openssl nginx jq openssh python3 py3-pip \ && rm -rf /var/cache/apk/* \ && apk update \ && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asia/Shanghai" > /etc/timezone \ && npm config set registry https://registry.npmmirror.com \ && npm install -g pnpm \ && pnpm add -g pm2 ts-node typescript tslib \ && mkdir -p $QL_DIR \ && git clone -b $QL_BRANCH https://github.com/whyour/qinglong.git $QL_DIR \ && cd $QL_DIR \ && cp -f .env.example .env \ && chmod 777 $QL_DIR/shell/*.sh \ && chmod 777 $QL_DIR/docker/*.sh \ && pnpm install --prod \ && mkdir -p $QL_DIR/static \ && git clone -b $QL_BRANCH https://github.com/whyour/qinglong-static.git $QL_DIR/static \ && ln -s /ql/docker/docker-entrypoint.sh /usr/bin/qinglong \ && qinglong关键参数说明:
QL_BRANCH=develop:表示安装开发版(最新功能),改成v2.15.0这样的版本号可安装稳定版- 中科大镜像源:加速软件包下载
- 自动设置时区为上海
- 使用淘宝npm镜像
3.2 常见安装问题排查
- 网络错误:如果卡在git clone环节,尝试修改
/etc/resolv.conf,增加nameserver 223.5.5.5 - 依赖安装失败:执行
pnpm install --prod单独重装依赖 - 端口冲突:如果5700端口被占用,修改
/ql/config/env.sh中的PORT值 - 存储权限问题:确保Termux有存储权限,Alpine中
/ql目录可写入
安装完成后,浏览器访问http://127.0.0.1:5700就能看到青龙面板的初始化界面。
4. 日常使用与维护技巧
4.1 开机自启动方案
由于手机系统会杀后台进程,建议这样设置:
- 在Termux中安装Termux:Boot插件
- 创建
~/.termux/boot/目录 - 新建startql.sh文件,内容为:
#!/data/data/com.termux/files/usr/bin/sh termux-wake-lock termux-alpine -c "qinglong"- 给脚本执行权限:
chmod +x ~/.termux/boot/startql.sh
这样每次手机重启后,Termux会自动恢复青龙服务。
4.2 脚本管理实战
以京东签到脚本为例:
- 添加订阅仓库:
ql repo https://github.com/shufflewzc/faker3.git "jd_|jx_|gua_|jddj_|jdCookie" "activity|backUp" "^jd[^_]|USER|function|utils|sendNotify|ZooFaker_Necklace.js|JDJRValidator_|sign_graphics_validate|ql|JDSignValidator" "main"- 获取Cookie:
- 使用Via浏览器访问m.jd.com
- 登录后点击地址栏左侧「锁形图标」
- 复制pt_key和pt_pin的值
- 在青龙面板「环境变量」中添加:
- 名称:JD_COOKIE
- 值:pt_key=xxx;pt_pin=xxx;
4.3 备份与恢复
通过ZeroTermux的容器管理功能:
- 侧滑菜单选择「备份/恢复」
- 备份时会生成.tar.gz压缩包
- 恢复时选择备份文件,命名容器为ql_backup
- 需要时可通过「容器切换」快速回滚
建议每周备份一次,特别是添加了新脚本后。备份文件默认保存在/storage/emulated/0/termux/backups/。
5. 性能优化与进阶玩法
5.1 手机端专属调优
内存限制: 修改
/ql/docker/docker-entrypoint.sh,找到pm2 start那行,在前面添加:export NODE_OPTIONS="--max-old-space-size=512"这会将Node.js内存限制在512MB,避免OOM
定时任务错峰: 在青龙面板「系统设置」-「通知设置」里,把「任务并发数」改为1,减少瞬间负载
日志清理: 添加定时任务,每周清理旧日志:
find /ql/log -name "*.log" -mtime +7 -exec rm -f {} \;
5.2 外网访问方案
虽然青龙默认只监听本地,但可以通过Termux的端口转发实现外网访问:
termux-expose 5700这会生成一个随机域名(如xxxxx.termux-wireguard.com),有效期8小时。需要长期访问的话,建议搭配内网穿透工具(如frp)。
5.3 多容器管理技巧
ZeroTermux支持同时运行多个容器,可以这样玩:
- 容器1:青龙v2.15(稳定版跑重要任务)
- 容器2:青龙develop(测试新版功能)
- 容器3:Alpine纯净环境(跑其他Linux应用)
切换容器只需在侧滑菜单选择「容器切换」,完全隔离的环境避免冲突。