手机服务器艰辛之路(一)~手机服务器环境部署
前言
随着博主使用服务器的依赖性越来越高,之前一直是99元白嫖阿里云服务器,但是每年都会遇到相同的一个问题“是否还需要续费?”。
答案当然是不可能续费的,因为续费需要支付小百元大钞。主要是没有这么高的需求,本来就是个人爱好,搭建的一些网站,没有什么服务必须要运行的。那就面临着一个问题“服务器上的代码是否还需要备份到本地?”
想想都是之前自己的心血呀,还是上服务器捡一捡。大部分东西都记不清了,存下来有的时候就不太想再部署了,因为太麻烦了,需要安装各种环境,依赖包,随着还会有一些千奇百怪的报错等着你。
今年又到了选择的时候,基于上面各种情况,我放弃了购买服务器,但是我还想要一个自己的服务器,偶尔可以部署一些小项目,可以玩。于是,我就开始思考有没有一个服务器,我可以决定它的是否存在,不受外界因素的影响,在我需要的时候我又可以使用它。
经过各种搜索,终于让我给找到了,那就是以旧手机搭建一台服务器,再通过内网穿透,就可以实现。
环境部署目录
一、服务器硬件基础
- 旧手机: 小米5sPlus
- 存储: 4G + 64G
-
内网穿透: 在花生壳上注册个账号,可以获取个免费域名,支持开通两个端口,带宽1M。
前期基本满足需求,大部分时间旧手机在身边,我们可以使用局域网进行连接操作。
二、搭建Linux环境
我们想让旧手机作为服务器,那我们需要在旧手机上先安装Linux环境,这样后面就可以部署我们的应用了。在安装Linux环境之前,有几个必须要做的操作,不然后面的安装执行不下去。
1. 手机需要进行root,部分操作只有root权限才可以操作;
2. 手机需要安装几个软件:Magisk + BusyBox + LinuxDeploy + JuiceSSH;
2.1 Root权限获取
不同的手机获取root权限的方式可能不太相同,我这边是使用的小米手机。随着手机不断的更新迭代,很多手机也有了更高的权限限制,像之前root大师,360root各种root软件基本都没毛用。下面提供一下小米手机的root步骤,仅供参考。
大家注意我们选用的旧手机上最好不要有什么重要的东西,因为会涉及到手机格式化,之前的东西很可能会被清除掉。
小米手机安装的版本一般是分基本版和开发版,默认是基本版,要想获取root权限,大概分为以下几个流程:开启开发者选项——设备解锁——安装开发版系统——开启Root权限。
2.1.1 解锁
如果手机是基本版,首先我们需要将手机开启开发者选项:
-
开启开发者选项:设置——我的设备——全部参数——连续点击“MIUI版本”后面的当前版本(如MIUI 11.0.3|稳定版 11.0.3.0(ODBCNXM)),直至页面提示已经处于开发者模式。开启成功,可以在更多设置中找到,看到如下效果。
-
解锁: 电脑上下载解锁工具并登陆小米账号(与手机上登陆账号一致),具体方法:
官网下载工具
,一般解锁可以需要1-3个工作日,这个可以提前做一下。解锁成功可以在手机开发者选项中查看。
2.1.2 安装Magisk
这一步放前面,主要是为了生成一个magisk_xxx.img文件,后面在刷机的时候替换掉之前的boot.img
随着手机的不断更新迭代,现在大部分手机获取root权限都很难实现,经过博主大量测试,发现市场上很多root软件无论是线刷还是卡刷都无法实现root,如:刷机大师,Root大师,还有部分软件需要付费才可以Root,有钱人可以试试。我这边经过各种搜索查资料,发现
Magisk
这个开源软件可以实现,大家想了解的,可以去
magisk官网
看一下,里面也有各种手机获取root权限的教程。
下载完成之后,是个app,需要在我们的手机上安装。安装可以直接下一步推荐操作,安装完成之后,它会提示重启,同时会在文件系统Download(默认路径,也可以在设置中修改)下生成magisk_xxx.img,我这边重启之后好像也没安装成功。
我当时是将magisk_xxx.img这个文件重新修改了一下名称为boot.img,然后在刷机的时候,用这个文件把之前的boot.img替换掉,刷机后打开就安装成功了。
后面这种方式我自己没有尝试,大家有兴趣可以试一下。我又查看了一下官网的
相似文档
,发现需要先线刷一个
TWRP Recovery
,然后在按降低音量键+电源按钮将手机启动到 TWRP 恢复模式,找到Magisk下面的压缩包,安装提示步骤就可以实现Root。最后安装成功,下面会显示一个卸载Magisk操作。
2.1.3 刷机
首先我们需要将手机刷机为开发版,对应的开发版本我们可以在
小米论坛
上下载,大概是1.6G,下载后解压到一个目录下,这里我们在解压的images目录下找到boot.img,然后把我们上一步通过Magisk生成的magisk_xxx.img重新命名为boot.img,然后替换掉之前的boot.img。这样做的话,我们刷机后的系统是自动安装了Magisk。
之后我们下载
小米刷机工具
(XiaoMiFlash),安装驱动,用数据线连接手机,MiFlash上点击加载设备,正常我们会看到我们的设备,选择我们刚才解压的目录即可,MiFlash会检测到.bat文件,这里我们千万不要着急刷机,一定要把下面选项调整一下,因为它默认“全部删除并lock”,我们要选择其它两个任一一个即可。勾选完成之后点击刷机。
2.1.2 Root
在完成上面的刷机之后,我们可以在Magiskapp上看到超级用户模块,这里是我们授权的列表,这样在其他软件使用到root权限时,会提醒root授权。
2. Linux环境搭建
上面我们已经获取到了手机的Root权限,后面我们只需要安装下面3个软件,就可以开始Linux环境搭建。核心apk是Linux Deploy
2.2.1 相关apk下载
-
Busybox(apk)
BusyBox 是一个小型可执行文件,它结合了许多常见 UNIX 实用程序的精简版。它占用很小的体积,通常用在嵌入式设备上。 在安卓系统上安装busybox,就可以运行更多的unix命令如vi,find,grep,cat,wegt等。
BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Android 系统的自带的shell。由于原机自带的Linux命令集不完整,我们一般需要安装Busybox来扩充Linux命令集(不安装也可以)。 -
Linux Deploy(apk)
Linux Deploy是一款可以在Android设备上部署Linux环境的应用,其原理大概是在Android的Linux层跑一个chroot或者proot容器,然后再在容器中运行我们准备好的另外一个Linux系统。值得注意的是,这与我们熟知的虚拟机技术不同,新的Linux系统将和Android系统平行运行(非专业解释不要深究)。 -
JuiceSSH(apk)
JuiceSSH是一个Android安卓手机端的免费SSH工具,功能很多,用起来也很方便,包括SSH远程连接、记住密码、管理连接信息等,常用的功能JuiceSSH都支持。
由于这个下载需要google翻墙,这里分享一个我之前下载的JuiceSSH APK(juicessh-v3.2.2)。
链接:https://pan.baidu.com/s/13RIRwP5Ug7f6ThuD6xqHiQ?pwd=jbn4
提取码:jbn4
2.2.2 Linux环境搭建
2.2.2.1 Busybox安装配置
-
安装Busybox好后,点击左上角的三个杠,打开设置界面:复制安装路径,返回到主界面,点击安装即可,点击信息查看,可以看到本机处理器架构是 aarch64,安装路径是/system/xbin。
2.2.2.2 Linux Deploy安装配置
-
打开设置修改环境变量,找到PATH修改为 /system/xbin(即Busybox的安装路径)
-
修改配置文件(可忽略)
-
安装Centos7,回到主界面,打开安装配置,勾选配置信息
-
选择容器类型为chroot,系统为Centos,架构为aarch64,这里可以改为国内
阿里云源地址
-
安装类型/路径/镜像大小对Linux系统存储影响比较大,这个我们后面会专门整理出来,这里我们可以自行修改用户名和密码
-
挂载点设置,可以将SD卡存储挂载到Linux系统上
-
SSH设置,用于远程连接
-
回到主界面,点击右上角三个点,选择安装
-
安装成功,启动配置
-
点击停止,然后再点击启动
3. 连通验证
注意:手机和PC在相同的局域网中
3.1使用终端
使用ssh连接:ssh xm@192.168.2.104
3.2使用juicessh
手机连接服务器,打开juicessh
总结
以上就是手机上部署Linux整个流程,本文主要介绍手机获取Root权限,及搭建相应的Linux系统。后续会进行一些常用软件安装,及后续使用中遇到问题及解决问题整理,及如何在手机服务器上部署应用的实现。