原标题:废物利用之闲置手机变服务器之旅
实际上早先我写过一篇文章跟这个差不太多,是关于手机通过“KSWEB Pro”变身web服务器的,但是后来服务器炸了文章没能活到今天(文章没在手机服务器上)(但也没在正经服务器上);实际上采用那种方式是比较有局限性的,操作上也不如原生Linux来的方便,这篇文章旨在让吃灰的闲置手机重获新生:通过“Linux Deploy”运行Linux来最大程度的还原操作云服务器的体验(会玩的可以不用看下去了整篇都是讲的这个)。废话不多说直接开始。
目录在右侧,如果有前序工作做完的可以依照喜好直达想看的位置哦~
准备工作
- 闲置Android手机(2022.7.24:推荐使用搭载Android 8.1+的手机以获得更佳体验)
- Linux Deploy软件
- BusyBox
开始部署
应用
手机获取Root权限(没有/无法获取的可以换一台能获取Root权限的闲置Android手机)
安装Linux Deploy
打开软件,对软件进行相应设置
点击左上角三条杠,点击“设置”
画线选项需要打勾
下方PATH变量
填入/system/xbin
,即BusyBox安装路径,不填写将导致初始化功能(rc.local
)无法使用,但不影响Linux环安装境启动,填好后点击更新环境。
BusyBox不在/system/xbin
(比如在/data
)可能导致国内源无法使用,不清楚原因
然后返回,点击右下角的图标
此处是配置你要安装哪家的Linux,哪个版本的Linux,安装在哪等选项,建议如下配置:
- 发行版 GNU/Linux:
CentOS
- 架构:
aarch64(注意这个根据你的手机处理器架构选择,不同架构一般安装不上)
- 发行版 GNU/Linux 版本:
7(这个选CentOS没别的选项)
- 源地址:
http://mirrors.aliyun.com/centos-altarch/
- 安装类型:
目录
- 安装路径:
/data/centos
- 用户名:
root(或者自己起一个)
- 用户密码:
同理
- 初始化:
勾选“启用”
- 本地化:
zh_CN.UTF-8
- 啊吧啊吧……(中间的不用调)
- SSH:
勾选“启用”
- 图形界面:如果想单纯体验Linux还不想折腾刷电脑的话可以勾选,改造成服务器的话不用勾选
220924:补充可用的Debian地址,填写如下:
- 发行版 GNU/Linux:
Debian
- 架构:
arm64(注意这个根据你的手机处理器架构选择,不同架构一般安装不上)
- 发行版 GNU/Linux 版本:
buster(还没有试过别的选项呢)
- 源地址:
http://mirrors.ustc.edu.cn/debian/
(241017:补清华源:http://mirrors.tuna.tsinghua.edu.cn/debian/
) - 安装类型:
目录
- 安装路径:
/data/debian
- 用户名:
root(或者自己起一个)
- 用户密码:
同理
- 初始化:
勾选“启用”
- 本地化:
zh_CN.UTF-8
- 啊吧啊吧……(中间的不用调)
- SSH:
勾选“启用”
- 图形界面:如果想单纯体验Linux还不想折腾刷电脑的话可以勾选,改造成服务器的话不用勾选
效果如图:
点击返回,点右上角的三个点,点击“安装”,授予Root权限并等待安装完成(由于换了国内镜像源,安装速度可能会稍微快那么一点,具体情况取还要取决于设备配置)
下载完成后点击左下角的“启动”
系统
使用SSH连接“服务器”
电脑端:下载OpenSSH
手机端:下载Termux,然后在Termux中获取SSH(输入pkg install openssh
,回车)
下载好后,输入ssh root@192.168.3.75(注:1.“root”为前面设置的用户名;2.后面IP地址为该设备在局域网内的IP地址,一般为软件首页Linux后面那个,不放心的话在WiFi设置页面,路由器后台,关于手机-状态消息等处均可查看)
然后输入密码(前面可能有需要输入yes的步骤,输入yes即可)
这时,你就拥有了一份新鲜出炉的服务器环境,像使用云服务器那样使用它吧!记得不要清空软件的后台哦~
教程到此结束(逃
宝塔Linux面板
为了增加”服务器“的易用性(毕竟这些没屏幕的东西本就不是很方便,外加这种是aarch64架构,与x86架构还有区别,有些软件的兼容性不是很好【点名MySQL】),我们为“服务器”安装一下宝塔面板,顺便配好“LNMP”环境
- CentOS安装命令:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
yum install -y wget && wget -O install.sh http://download.bt.sy/install/install_6.0.sh && sh install.sh
- 试验性Centos/Ubuntu/Debian安装命令 独立运行环境(py3.7) 可能存在少量兼容性问题 不断优化中 :
curl -sSO http://download.bt.cn/install/install_panel.sh && bash install_panel.sh
curl -sSO http://download.bt.sy/install/install_panel.sh && bash install_panel.sh
- Ubuntu/Deepin安装命令:
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
wget -O install.sh http://download.bt.sy/install/install-ubuntu_6.0.sh && sudo bash install.sh
- Debian安装命令:
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh
wget -O install.sh http://download.bt.sy/install/install-ubuntu_6.0.sh && bash install.sh
- Fedora安装命令:
wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh
wget -O install.sh http://download.bt.sy/install/install_6.0.sh && bash install.sh
我们将命令直接粘贴到通过SSH连接了手机的cmd中,然后回车,等待安装即可。(注意:此处需要输入一个”y“)
注:建议晚上睡觉之前做到这一步,然后直接睡觉,因为安装的过程极其漫长,比一般x86服务器慢上不少,这是之前摸索阶段安装的时间截图:
于是一年过去了,终于装完了
2022.7.24:前来考古(不是),现在的宝塔Linux面板已经能够实现2 – 3分钟安装完毕了,如果手机性能足够好 + 网速足够快的话可能一分钟就能装完,与普通服务器无差(所以不用睡前挂上了 以往接近一个小时的安装时长已经不复存在了)
(所以说强烈建议大家晚上睡觉之前装这个)
复制内网面板地址到浏览器,回车,输入账号密码进入面板,进入后直接选择LNMP(极速安装和编译安装的速度几乎一致)
2023.1.5:可以取消勾选Pure-Ftpd
以减少无用程序占用空间(装了也启动不了);这里保持默认选项的极速安装即可,这个阶段的时间可能还是稍微有点长的,可以边安装边干点别的
安装好之后会发现MySQL是无法运行的,下面是解决方法
MySQL的各种问题以及解决方法
安装完成后,点击”软件商店“,尝试将”暂停“的服务启动
此时会发现MySQL始终无法启动
解决方法:
点击MySQL后面的设置,点配置修改,在[mysqld]
下面加上一行user = root
保存,点击“服务”,点击”启动“,这时可以看到我们的MySQL已经启动成功啦(就这昨天研究了好几个小时)
这时我们去新建网页,会发现无法正常创建数据库(没有提示,但是创建好之后没有数据库),手动创建时提示:
这是因为现在的MySQL是没有密码的状态,这点可以通过在SSH输入mysql -u root -p
看出,当我们输入命令,提示输入密码时,不输密码,直接敲回车也是可以登陆进去的
最简单的解决方案就是:宝塔面板点击数据库-root密码-提交,然后等待修改成功提示,至此宝塔面板就已经能够接管整个服务器了
此时我们正常创建修改数据库都没问题
教程到这里就结束了
写在后面
这种搭建方法除了比学生优惠的云服务器配置稍微高一点,上传比云服务器高一点之外几乎没有什么长处,而且这这种对数据库的配置文件进行修改不知道对数据库的安全性有没有影响,所以不建议已经成型的项目直接从云服务器上搬过来,这种也就图一乐,云服务器的稳定性是家庭物理服务器,闲置手机改服务器等比不了的。
2021.7.20:经多次测试发现Android 8以上的系统息屏后可能出现网络资源无法调用,网站无法打开,打开后无法处理请求等问题,目前可行的解决方案有:
Android 7.1.2
2022.7.24:Android 8.1以上版本 + Magisk + LSPosed有个模块叫FakeScreen,可以完美解决息屏之后ssh反应慢、网页打不开等问题,搭配Scene充电控制可以实现插在那里不管也不出问题(不停电、充电器不出问题的话);再加上ADB WiFi的话还可以远程对手机进行ADB调试(不过目前没感觉有啥用)
2023.1.5:支持充电控制的设备可以搭配Battery Charge Limit
或AccA
使用,既可以脱手(一直插在充电器上)又不会特别损伤电池(起码不会鼓包)
2023.1.5:!!!实测安卓12的LineageOS无论是CentOS还是Debian安装后都无法打开网页!!!
2023.1.5:!!!Android 9装Debian + BTPanel会重启!!!
本文地址: Linux Deploy部署Linux环境