手机服务器艰辛之路(一)~手机服务器环境部署


前言

随着博主使用服务器的依赖性越来越高,之前一直是99元白嫖阿里云服务器,但是每年都会遇到相同的一个问题“是否还需要续费?”。
答案当然是不可能续费的,因为续费需要支付小百元大钞。主要是没有这么高的需求,本来就是个人爱好,搭建的一些网站,没有什么服务必须要运行的。那就面临着一个问题“服务器上的代码是否还需要备份到本地?”
想想都是之前自己的心血呀,还是上服务器捡一捡。大部分东西都记不清了,存下来有的时候就不太想再部署了,因为太麻烦了,需要安装各种环境,依赖包,随着还会有一些千奇百怪的报错等着你。
今年又到了选择的时候,基于上面各种情况,我放弃了购买服务器,但是我还想要一个自己的服务器,偶尔可以部署一些小项目,可以玩。于是,我就开始思考有没有一个服务器,我可以决定它的是否存在,不受外界因素的影响,在我需要的时候我又可以使用它。
经过各种搜索,终于让我给找到了,那就是以旧手机搭建一台服务器,再通过内网穿透,就可以实现。


环境部署目录

  • 手机服务器艰辛之路(一)~手机服务器环境部署
  • 前言
  • 一、服务器硬件基础
  • 二、搭建Linux环境
    • 2.1 Root权限获取
      • 2.1.1 解锁
      • 2.1.2 安装Magisk
      • 2.1.3 刷机
      • 2.1.2 Root
    • 2. Linux环境搭建
      • 2.2.1 相关apk下载
      • 2.2.2 Linux环境搭建
        • 2.2.2.1 Busybox安装配置
        • 2.2.2.2 Linux Deploy安装配置
  • 3. 连通验证
    • 3.1使用终端
    • 3.2使用juicessh
  • 总结

一、服务器硬件基础

  • 旧手机: 小米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下载

  1. Busybox(apk)
    BusyBox 是一个小型可执行文件,它结合了许多常见 UNIX 实用程序的精简版。它占用很小的体积,通常用在嵌入式设备上。 在安卓系统上安装busybox,就可以运行更多的unix命令如vi,find,grep,cat,wegt等。
    BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Android 系统的自带的shell。由于原机自带的Linux命令集不完整,我们一般需要安装Busybox来扩充Linux命令集(不安装也可以)。

  2. Linux Deploy(apk)
    Linux Deploy是一款可以在Android设备上部署Linux环境的应用,其原理大概是在Android的Linux层跑一个chroot或者proot容器,然后再在容器中运行我们准备好的另外一个Linux系统。值得注意的是,这与我们熟知的虚拟机技术不同,新的Linux系统将和Android系统平行运行(非专业解释不要深究)。

  3. 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安装配置

  1. 安装Busybox好后,点击左上角的三个杠,打开设置界面:复制安装路径,返回到主界面,点击安装即可,点击信息查看,可以看到本机处理器架构是 aarch64,安装路径是/system/xbin。


2.2.2.2 Linux Deploy安装配置

  1. 打开设置修改环境变量,找到PATH修改为 /system/xbin(即Busybox的安装路径)
  2. 修改配置文件(可忽略)
  3. 安装Centos7,回到主界面,打开安装配置,勾选配置信息
  4. 选择容器类型为chroot,系统为Centos,架构为aarch64,这里可以改为国内阿里云源地址
  5. 安装类型/路径/镜像大小对Linux系统存储影响比较大,这个我们后面会专门整理出来,这里我们可以自行修改用户名和密码
  6. 挂载点设置,可以将SD卡存储挂载到Linux系统上

  7. SSH设置,用于远程连接

  8. 回到主界面,点击右上角三个点,选择安装
  9. 安装成功,启动配置

  10. 点击停止,然后再点击启动

3. 连通验证

注意:手机和PC在相同的局域网中

3.1使用终端

使用ssh连接:ssh xm@192.168.2.104

3.2使用juicessh

手机连接服务器,打开juicessh

总结

以上就是手机上部署Linux整个流程,本文主要介绍手机获取Root权限,及搭建相应的Linux系统。后续会进行一些常用软件安装,及后续使用中遇到问题及解决问题整理,及如何在手机服务器上部署应用的实现。

手机服务器艰辛之路(一)~手机服务器环境部署相关推荐

  1. eve虚拟机服务器如何配置,EVE-NG在VMware Workstations环境部署 | IT运维网

    安装方式有两种:ISO镜像安装,OVA镜像包安装:两者比较OVA安装比较便捷,推荐OVA安装. 环境规划: 1.物理机BIOS开启虚拟化功能 2.本地网络环境需要有DHCP服务,否则EVE拿不到地址会 ...

  2. 华为云牛客网之学生华为云服务器体验之路_1云服务器的购买篇

    这两周偶然的机会,在高交会的展台了解了华为云,同时也参加去深圳2020年的华为开发者大会.一直想入手一台华为云主机学习了解,结果碰上了牛客网的活动,99元包年的学生云服务器只要9块就可以了.简直是白捡 ...

  3. node.js 微信小程序 部署服务器_微信小程序云开发环境部署,及添加数据

    点击蓝字 关注我们 今天在漫无目的逛CSDN的时候,一篇关于微信公众号云开发的文章引起了我的注意.据介绍,小程序云开发简称tcb,是腾讯爸爸给我们提供的基于腾讯云的云服务器.目前云开发已包含云数据库, ...

  4. 怎么修复手机服务器,新手机怎么恢复旧手机上的所有数据?

    将旧手机中所有数据迁移至新手机,大体上分为两种类型.一类是同品牌不同型号之间的数据迁移,一类是不同品牌不同机型之间的数据迁移.如果是第一种情况较为简便,利用手机厂商提供的软件服务器即可实现,第二种情况 ...

  5. 手机连接服务器传文件在哪里,手机云服务器传文件在哪里

    手机云服务器传文件在哪里 内容精选 换一换 登录Windows操作系统的弹性云服务器时,需使用密码方式登录.因此,用户需先根据创建弹性云服务器时使用的密钥文件,获取该弹性云服务器初始安装时系统生成的管 ...

  6. sql连接远程服务器索引超出了_手机怎么连接服务器远程桌面?RD client远程桌面使用教程...

    大家好啊,现在很多游戏.应用为了体验感好.方便使用都实现了多端同步,服务器远程连接也不例外,今天给你们分享手机连接服务器远程桌面的操作方法 [ 好东西一起分享,好音乐一起听 ] 不管是安卓还是苹果手机 ...

  7. 手机服务器密码在什么位置,手机远程云服务器登录密码是什么

    手机远程云服务器登录密码是什么 内容精选 换一换 只有运行中的云服务器云主机才允许用户登录.Windows操作系统用户名"Administrator".首次登录云耀云服务器,请先通 ...

  8. 从手机里上传文件到云服务器,手机如何上传文件到云服务器

    手机如何上传文件到云服务器 内容精选 换一换 已获取该弹性云服务器的密钥文件.弹性云服务器已经绑定弹性IP地址.已配置安全组入方向的访问规则.如果您是在Windows操作系统上登录Linux,可以按照 ...

  9. 修复花雨庭服务器,我的世界手机版怎么进花雨庭服务器 | 手游网游页游攻略大全...

    发布时间:2016-06-08 我的世界手机版进服务器方法带给玩家,我的世界是一款自由度很高的沙盒类游戏,游戏玩法丰富多样,还能加入服务器和别人一起玩,看看我的世界手机版进服务器方法. 我的世界手机版 ...

最新文章

  1. 判断objcet是否是map类型_57、递归+树的深度+map-二叉搜索树的平衡性
  2. Docker报错 WARNING: IPv4 forwarding is disabled. Networking will not work.
  3. 【Android 逆向】Android 进程代码注入原理 ( 注入本质 | 静态注入和动态注入 | 静态注入两种方式 | 修改动态库重打包 | 修改 /data/app/xx/libs 动态库 )
  4. php防止订单重复计算,php防止用户重复提交表单
  5. 或许是单选的飞鸽传书
  6. matlab ga函数,matlab遗传算法ga函数
  7. Summary - 2017
  8. Unity3D基础1:进入Unity3D
  9. Max Time-Delay Neural Networks
  10. php 5.4中php-fpm 的重启、终止操作命令
  11. ios加密算法AES
  12. 3种方法设置PPT文件保护
  13. 精品餐饮业奢华西餐专业PPT模板
  14. 【机器人基础】标准D-H建模法(机器人建模与控制)
  15. 1916 Problem C 合唱队形
  16. oracle重新编译package,oracle package 编译问题
  17. win10下loadrunner11安装与破解
  18. 使用Selenium启动IE浏览器
  19. 官宣!1024 程序员节日程发布,第一代程序员求伯君将出席大会
  20. RestTemplate post提交方式的一些总结

热门文章

  1. u深度做linux启动盘,u深度启动盘制作
  2. 操作系统原理——第2章 操作系统概述
  3. 【Python】Parser 用法-通俗易懂!
  4. 西门子1200plc485轮询读写28个测试仪表,包括plc程序和触摸屏程序,仪表485通讯协议说明书
  5. 人工智能时代是什么时代?
  6. 技术笔记:Wordpress建站,解决无法外网访问的方法
  7. 一组li或者div里面多个弹出层对应各自的内容
  8. 网络安全的魔法——社会工程学
  9. idea复制项目并使用技巧
  10. 虚幻四蓝图实战(下车减速人物加速蓝图接口通信)