旧手机刷 Linux 做微型服务器:Linux Deploy 完整教程
上篇讲了旧手机变废为宝的 8 个方案,评论区有人问:"能不能直接把手机刷成 Linux 系统,当正经服务器用?"能。一台骁龙 845 的旧手机,刷上 Ubuntu Server,性能顶得上一台入门 VPS——还不用交月租。这篇文章带你从头到尾走一遍 Linux Deploy 的完整流程,从刷系统到跑 Docker,一步不落。
为什么用 Linux Deploy 而不是 Termux?
先搞清楚区别:
| 对比维度 | Termux | Linux Deploy |
|---|---|---|
| 运行方式 | Android 上的终端模拟器 | chroot 容器跑完整 Linux |
| 需要 Root | 不需要 | 需要 |
| 系统完整性 | 阉割版,部分命令不可用 | 完整 Linux 发行版 |
| 能跑 Docker | 不能 | 能(需内核支持) |
| systemd | 不支持 | 支持 |
| 适用场景 | 轻量开发、SSH 应急 | 当服务器用 |
简单说:Termux 是"Android 里加了个终端",Linux Deploy 是"Android 上开了个虚拟机跑真 Linux"。需要 root 是门槛,但换来的是一套完整的 Linux 环境。
第一步:准备工作
硬件要求
- Android 手机,系统 7.0+
- 已解锁并 root(Magisk 或 SuperSU)
- 至少 4GB 剩余存储空间
- 建议运存 4GB+、存储 64GB+
软件准备
- 安装 Linux Deploy(Google Play 或 GitHub Releases)
- 安装 BusyBox(Magisk 模块或独立 App)
# 确认 root 权限正常
adb shell
su
id
# 应该看到 uid=0(root)
第二步:配置 Linux Deploy
打开 Linux Deploy,点击右下角设置图标,逐项配置:
基础配置
| 配置项 | 值 | 说明 |
|---|---|---|
| 发行版 | Ubuntu | 选熟悉的就行 |
| 版本 | jammy (22.04) | 最新的 LTS |
| 架构 | arm64 / aarch64 | 自动检测,别改 |
| 安装类型 | 镜像文件 | 比目录安装稳 |
| 镜像大小 | 8192 MB | 8G 够用,后面可以扩 |
| 文件系统 | ext4 | 标准选择 |
高级配置
| 配置项 | 值 |
|---|---|
| 用户名 | 自定义(默认 android) |
| 密码 | 设个复杂点的 |
| SSH | 开启 |
| SSH 端口 | 22(或改成 2222 避免冲突) |
| 初始化系统 | sysv / run-parts |
| 挂载 | 建议挂载 /sdcard 到容器内 |
关键配置截图说明
打开"挂载点"选项:
挂载 Android 资源:✅
/sdcard → /mnt/sdcard
/storage/emulated/0 → /mnt/internal
这样容器里就能直接读写手机存储,下载的文件、脚本都在一个目录下。
第三步:安装系统
配置确认无误后,点右上角菜单 → 安装。
[10:23:01] 开始安装 ...
[10:23:05] 创建镜像文件 ...
[10:23:45] 格式化 ext4 ...
[10:24:12] 挂载镜像 ...
[10:24:15] 下载 bootstrap ...
[10:28:30] 解压 bootstrap ...
[10:30:18] 配置系统 ...
[10:31:02] 安装完成
整个过程约 5-8 分钟,视网络速度而定。墙内用户可能会卡在下载环节,解决办法:
# 在 Linux Deploy 设置里替换镜像源
# 配置 → 镜像源 URL
http://mirrors.aliyun.com/ubuntu-ports/
安装完成后点"启动"。
第四步:SSH 登录你的"手机服务器"
同一 WiFi 下,电脑终端直接 SSH:
# 查看手机 IP
adb shell ip addr show wlan0 | grep inet
# SSH 登录
ssh [email protected]
# 如果是自定义端口
ssh -p 2222 [email protected]
进来就是熟悉的 Ubuntu 命令行:
Welcome to Ubuntu 22.04 LTS (GNU/Linux 4.9.186 aarch64)
android@localhost:~$ uname -a
Linux localhost 4.9.186 #1 SMP PREEMPT Mon Jan 1 00:00:00 CST 2023 aarch64 aarch64 aarch64 GNU/Linux
基础环境配置
# 换国内源(阿里云)
sudo sed -i 's/ports.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
sudo apt update && sudo apt upgrade -y
# 装基础工具
sudo apt install vim git curl wget build-essential -y
# 设置时区
sudo timedatectl set-timezone Asia/Shanghai
第五步:跑服务实战
5.1 Nginx + 静态网站
sudo apt install nginx -y
sudo systemctl start nginx
同一 WiFi 下,浏览器打开 http://手机IP,看到 Nginx 欢迎页。把你的静态网站文件放到 /var/www/html/。
5.2 Python Flask 应用
sudo apt install python3-pip -y
mkdir ~/webapp && cd ~/webapp
python3 -m venv .venv && source .venv/bin/activate
pip install flask gunicorn
写个简单应用 app.py:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello from my phone!'
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000)
用 Gunicorn 生产运行:
gunicorn -w 2 -b 0.0.0.0:5000 app:app -D
5.3 Docker(如果需要)
不是所有手机内核都支持 Docker。先检查:
# 检查内核是否支持 Docker 所需的特性
cat /proc/config.gz | gunzip | grep -E "CGROUP|NAMESPACE|OVERLAY|VETH|BRIDGE"
大多数旧手机内核缺少 OVERLAY_FS 和部分 CGROUP 选项,Docker 大概率跑不起来。但 podman(无守护进程版 Docker 替代)可能可以:
sudo apt install podman -y
podman run hello-world
能跑通就赚了,跑不通也别纠结——Nginx + Python + Node 已经覆盖 90% 的服务器需求了。
第六步:开机自启 + 保活
手机重启后 Linux Deploy 容器不会自动启动。解决办法:
方案 A:Linux Deploy 自带设置
Linux Deploy 设置里开启"自动启动"和"启动延迟 10 秒",让开机后自动拉起容器。
方案 B:配合 Tasker
Tasker 检测到开机完成 → 等待 15 秒 → 发送 intent 启动 Linux Deploy:
操作 → 系统 → 发送意图
Action: ru.meefik.linuxdeploy.action.START
Package: ru.meefik.linuxdeploy
Class: ru.meefik.linuxdeploy.LauncherActivity
Target: Activity
保活:防止系统杀进程
# Android 设置
设置 → 电池 → 电池优化 → Linux Deploy → 不优化
设置 → 应用 → Linux Deploy → 电池 → 无限制
手机一直插电的话,Agent 被杀的概率会大幅降低。
性能实测
我用的是一台小米 MIX 2S(骁龙 845 / 6GB RAM):
| 测试项 | 结果 |
|---|---|
| sysbench CPU 单核 | 890 events/sec |
| sysbench 内存读写 | 4200 MiB/sec |
| Nginx 静态页 QPS | 1200+ req/s |
| Python Flask 简单接口 QPS | 380 req/s |
| 整机功耗(跑服务) | 3.2W |
| 连续运行稳定性 | 7 天无重启、无死机 |
作为对比,阿里云 1 核 1G 轻量服务器的 sysbench CPU 得分约 1100,内存约 3500 MiB/sec。旧手机跑 Nginx 的性能跟入门 VPS 在同一个量级上——但功耗只有 3W,还不花钱。
常见问题
Q:必须 root 吗?
必须。Linux Deploy 需要 root 权限创建 chroot 环境和挂载文件系统。不愿意 root 就用 Termux,功能少一些但也能跑大多服务。
Q:电池会鼓包吗?
老生常谈。长期插电的锂电池必然鼓包。两种解决思路:
1. 定时插座,每天断电 2-3 小时
2. 物理拆掉电池,从 USB 口直接从主板供电触点引线出来(搜"手机改直供电"有教程)
Q:手机性能和 VPS 到底差多少?
以骁龙 845(2018 年旗舰)对比阿里云 1 核 1G(2024 年入门 VPS),CPU 性能不相上下,内存带宽手机还略高。差距在网络——家宽上行通常只有 30Mbps,VPS 动辄 100M+。适合跑计算型服务(爬虫、定时任务、小 Web),不适合跑对公网带宽要求高的业务。
Q:能装宝塔面板吗?
理论上能,实际不建议。宝塔对 arm64 支持不完善,装完一堆报错。直接 apt 装 Nginx + MySQL + PHP,手动配 10 分钟的事,比宝塔轻量得多。
一台骁龙 845 的手机,闲鱼上 200 块钱。刷上 Ubuntu,它就是一台 3W 功耗的 ARM 服务器。跑个个人博客、搭个 API 服务、挂个 Telegram Bot,用起来跟 VPS 没差。唯一的区别是:VPS 一年三四百,这台手机插家里角落里,一年电费不到 20 块钱。