魅蓝 note5 旧手机搭建服务器
旧物利用
廉颇老矣,尚能饭否?
1,手机 root
自行寻找你的机型的 root 方式。
(root 有风险,刷机需谨慎!!!)
2,安装 linux deploy 或者 Termux
谷歌商店直接下载就行,上不了谷歌的可以去“酷安”找安装包使用。
教程里我使用的是 linux deploy 软件。(需root。)
--
这里说明一下两个软件的区别。(个人理解,不一定对。)
Termux 是一个 Android(安卓)上的 Linux 终端模拟器,可以通过proot容器,或者chroot容器安装linux发行版。
注:proot容器不需要root,chroot容器需要root,chroot能实现的功能更多。
linux deploy 就是单纯的一个安装chroot容器的软件,操作更简单一些。
3,chroot 容器安装 linux 发行版
3.1,点左下角配置
3.2,按照图所示设置
我习惯用ubuntu了,架构是arm64,版本最高就是bionic(ubuntu 18.04),有点老了,可能会有一些软件或者服务依赖太旧导致安装或者运行失败,需要自行解决了。
源地址:默认就行。
安装类型:我选的是目录,可以试试别的。
安装路径:必须是:/data/xxx,比如:/data/linux,或者/data/ubuntu。我试过默认不改,然后安装失败,最后测试这样可以安装成功,但不懂为什么,可能因手机而异?
用户名,密码自行设置。
允许使用初始化系统:打勾
启用SSH服务:打勾
其他的声音,桌面什么的,自行测试。
3.3,设置好后点击左上角的安装。
设置好后点击左上角的安装,就是自动开始跑代码了。
根据手机的性能安装有快有慢。(大概装了20-30分钟?)
安装完成后,点击左下角的启动,启动成功如图所示:
3.4,使用你常用的ssh链接工具登录服务器。
Welcome to Ubuntu 18.04 LTS (GNU/Linux 3.18.35+ aarch64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Ubuntu 18.04 LTS [running via Linux Deploy]
root@localhost:~#
#### 看到这个就是登录成功了。
#### 更新一下软件包,apt update && apt upgrade
#### 安装一些常用软件,比如wget,curl,等。
4,安装宝塔面板, aria2 , alist , qbittorrent ,青龙面板等
宝塔面板地址:bt.cn
宝塔开心版:http://bt.cxinyun.com/
aria2一键脚本:https://github.com/P3TERX/aria2.sh
alist安装教程:https://github.com/alist-org/alist
qbittorrent安装教程:https://hechuan.me/qbittorrent-install
https://github.com/userdocs/qbittorrent-nox-static/releases/tag/release-4.3.9_v1.2.15
青龙面板:https://github.com/whyour/qinglong
安装青龙可能会有点麻烦,按照github项目下面的开发,安装。
$ git clone git@github.com:whyour/qinglong.git
$ cd qinglong
$ cp .env.example .env
# 推荐使用 pnpm https://pnpm.io/zh/installation
$ npm install -g pnpm
$ pnpm install
$ pnpm start
#### 打开你的浏览器,访问 http://127.0.0.1:5700
注:
alist 和 qbittorrent 安装的时候看准架构,
平时电脑使用的都是x86架构,下载amd64的,手机的架构是arm的,但又细分arm7,arm8,arm64什么的,我也不太懂了,大佬们评论区指出一下。
但即便选对了,也可能运行失败。
比如alist会提示glibc 版本太低,那就建议下载 musl 版本,完美运行。
qbittorrent我用的aarch64-icu-qbittorrent-nox这个版本,完美运行。
所以自行测试。
5,缺点
安装一些服务很慢,可能是手机处理器太低?比如用宝塔面板安装 php,nginx 服务就很慢很慢。(装了一个小时才装完。)
systemd用不了。
docker安装不了的。
以及在宝塔里安装mysql也安装不上。(但见有的人是可以安装成功的,不确定。)
6,一些小细节
因为sysytemd用不了,
systemctl start/stop xxx命令,让软件后台运行,以及开机自启用不了。
所以可以借助 screen 这个软件让服务后台运行。安装命令:apt install screen
简单的使用方法就是在运行服务前面加上 screen 即可,建议百度谷歌搜个详细的教程看一下就懂了。
--
还有一个简单的方法就是宝塔面板了。
直接在网站里添加你的项目,设置一下就行了。每次启动宝塔面板这些服务也会启动了。
注:(软件如果关闭,容器关闭后,再次启动,宝塔面板不会自动启动,需要手动启动一下宝塔。ssh终端下输入: bt,选择启动即可。)
7,一些软件可能会用的到。
ardc(安卓投屏):https://dlsoft.lanzoux.com/s/ardc
我也折腾过这玩意,之前用魅蓝note3也装了linuxdeploy来运行ubuntu,不过我那手机屏幕坏了,索性我就把屏幕卸了电池也去掉换为法拉电容改成直供电了,后来因为它不支持exfat的外置储存卡,不能放大于4G的单文件,而且没屏幕也确实不方便,被我放弃了。
后台运行可以用nohup命令啊,比如nohup ./sftpgo > /dev/null 2>&1 &
自启的话,在配置中勾选允许使用初始化系统,之后在/etc目录下创建一个名为rc.local的文件,赋予它可执行权限,再把程序启动的命令写进其中就可以了。
第二种到是不知道还能这样操作。学到了。
安装目录的话应该是文件系统问题,手机储存用的是sdcardfs(应该叫这名字?),储存卡之类的用的是fat32、fat16、exfat这些,没法设定文件权限。而Android的/,/system和/etc之类的又默认只读,没法写入;那就只能用/data了,可以读写,文件系统还刚好是ext4,和正常Linux发行版的文件系统一致(当然也有用ext3、ext2的)。
手机的CPU架构一般是armeabi-v7a(即armv7l和arm-v8(即aarch64)(当然也有手机用x86,比如以前的华硕手机)。armeabi-v7就是32位的arm处理器,在Android里会被读取为armv7l(部分软件称为aarch32,咱也不知道对不对),但是在Termux的chroot容器里会被读取为armhf,这点很迷,而且俩架构的deb包不能混装,要注意下;arm-v8就是上文说的arm64,即64位的arm处理器,不管在Android还是在chroot里都会被读为aarch64。
至于systemd,在Termux里好像能用tmoe在容器外配置,记不大清了。而且如果只是后台运行的话,使用nohup即可。比如执行Python3文件用`nohup python3 file.py &`,执行PHP的开发用服务器可以使用`nohup php -S 127.0.0.1:8080 &`。
另外如果只是单纯想要开不用宝塔的轻量服务器还是建议用Termux装Nginx、PHP和npm之类的,因为开聊天室之类的小型站点根本用不着完整Linux环境,而且我个人总感觉chroot内部的网络在旧手机上会比宿主机要慢,用tigervnc连桌面环境网络卡顿也很离谱。
有关chroot延迟的问题,我有在多部手机上测试过。Redmi 2和华为麦芒5的表现差不多,卡顿严重,通过localhost进行vnc残影也很离谱,用Firefox打开网页的速度堪忧。但是在Redmi Note 10 Pro上,vnc连接比接物理显示器都流畅,网页打开速度虽然快了,但也没快多少…我的评价就俩字,玄学。
我不用vnc倒还好.旧手机的性能估计也带不起来.