[2019.2.23 更新]:更新 BusyBox,Linux Deploy 软件

之前无意间看到了一篇《在安卓上部署服务器》的文章,正好最近换了新手机,正好最近在学 Python 和 HTML,就想着跟着教程搭一个服务器。

但是原博有些地方写的比较简单,有些有坑的地方没有提及,有些软件更新了版本,跟原博有些出入,于是决定写一篇博客详细记录一下。


step 0:预备工作

需要工具:

  • 一部安卓手机
  • 一台能上网的电脑

我的旧手机是 MIUI 的操作系统,但是在安装 Linux Deploy 的时候会重启,因此我将系统刷成了 MoKeelineageos 上也有很多 rom 可以刷。

其他手机系统不知道会不会有这个问题,可以先继续,如果安装 Linux Deploy 的时候有问题再刷机也不迟。刷机教程网上太多,就不写了。

由于国内手机自带的 recovery 一般都会验证签名,因此最好将 recovery 刷成 TWRP,这是最常用的用来刷第三方包的 recovery。

TWRP 有三种刷入方法:

  1. 官网 选择对应设备,下载 img 文件,使用 adb 刷入。前置技术需求:英语、adb,不方便,不推荐
  2. 下载官方 app ,安装。

    第一项和第三项勾选上,第二项是使用 root 运行,可以不勾选,但是大多数特性将不可用。

    选择 “TWRP FLASH”,第二项是备份当前 recovery,有需要的可以自己备份。
    前面选择了 root 选项的需要允许授权。
    然后需要选择设备,选好对应设备后会让你选择版本,都选好后会自动跳转网页。

    下载 img 文件,下载好之后退回到 TWRP app 中。

    “Select a file to flash” 选择刚才下载的 img 文件,然后点击 “FLASH TO RECOVERY”

    刷入成功,缺点是没有中文。
  3. 在国内手机论坛中下载别人制作好的卡刷包,我用的就是在 MIUI 论坛上下载的,基本上每个手机都会有对应的版本,而且都有汉化版。下载好之后放到存储卡,关机后长按“音量 + 和电源键”进入 recovery,通过原来的 recovery 刷入,MIUI 用户可以将压缩包重命名为 update.zip,在 recovery 中使用通过 updata.zip 更新。

第二种方法最好是已经 root 的设备,方法三不需要进行 root,自行考虑使用哪种方法。


step 1:root

MIUI 系统需要解锁 Fastboot 才能 root。其他手机系统没用过,不清楚。已经 root 过的可以跳过这一步,需要 root 的要使用 supersu。

下载地址:https://www.lanzous.com/i1aosbe

关机后长按“音量 + 和电源键”进入 recovery,使用 recovery 刷入,**这里**有一些简单步骤,如果上一步刷 TWRP 使用的卡刷的话,这个也一样,都是卡刷。

这一步可以和上一步刷 TWRP 调换顺序,前提是你原来的 recovery 能够直接刷入 supersu

刷入完成后重启手机,会出现一个超级授权 app,有的话一般都是成功了。


step 2:安装 BusyBox

BusyBox 是一个集成了三百多个最常用 Linux 命令和工具的软件,主要用于嵌入式系统。

下载地址:
busybox 61 版本:https://www.lanzous.com/i1aos8b (需要安卓系统 4.0.3 以上)
busybox 62 版本:https://www.lanzous.com/i37zibe
旧版本:https://www.apk4fun.com/apk/6139/

打开软件后会载入 Smart Install,我没有使用它,版本选择 “Busybox 1.28.4(61 版本)”(62 版本为 1.29.2),安装位置选择 “/system/xbin”,然后 “install” 就行。

看到 successful 就说明安装成功了。


step 3:安装 Linux Deploy

Linux Deploy 是一款可以在 Android 设备上部署 Linux 环境的应用,其原理大概是在 Android 的 Linux 层跑一个 chroot 或者 proot 容器,然后再在容器中运行我们准备好的另外一个 Linux 系统。值得注意的是,这与我们熟知的虚拟机技术不同,新的 Linux 系统将和 Android 系统平行运行,即不影响安卓系统的正常运行。

下载地址:https://www.lanzous.com/i37zmpc
其他版本:https://github.com/meefik/linuxdeploy/releases

安装 app,点击下面这个按钮,对要安装的 Linux 进行配置。

   

   

源地址使用了清华大学的镜像地址,比原地址下载速度要快。安装类型的选择可以参考原博,我用的目录。用户名和密码就是你登录 Ubuntu 时需要输入的用户名密码,特权用户可以保持默认。本地化选择 “zh_CN.UTF-8”,否则如果后面有中文要显示的话会报错,例如 Python 脚本。SSH 服务器需要启用,设置保持默认。图形界面按需求启用。

设置完成后退回主界面,点击右上角以三个点表示的菜单键,选择 “安装” 开始 Linux 系统的安装,安装过程中需要一直保持网络连接。

当看到终端输出 >>>deploy时,代表安装已开始。

当看到终端输出 <<<deploy时,代表安装已完成。

如果安装失败(错误见评论)可以试试更换不同版本的 Linux。

安装完成后需要重启,恢复系统的 root。重启之后打开 Linux Deploy,点击启动即可启动系统。


step 4:安装 JuiceSSH

下载地址:https://www.lanzous.com/i1aos4h

JuiceSSH 可以用来登录 Linux 系统,并且远程操作该系统。

   

   

点击 “连接”,转到 “认证” 页面,新建一个认证。昵称随便填写,用户名和密码是你在 Linux Deploy 上设置的用户名和密码,然后点击右上角的 √。

转到 “连接” 页面,新建连接,昵称随便填写,可以和认证一样,类型就选 SSH。

地址是 Linux Deploy 应用标题栏中那个,这里是 192.168.1.115,其实就是安卓手机由路由器分配的地址。

这篇教程里 JuiceSSH 和 Linux Deploy 都是装在同一个手机上的,因此地址也可以填写为 127.0.0.1,这表示本地地址。

创建好连接之后,点击刚才创建的连接,连接成功后如下所示:

因为我们是通过普通用户登陆系统的,接下来我们需要设置特权用户(root)的密码并且以特权用户的身份登陆系统,在终端中键入:sudo passwd root

终端将会提示用户输入 root 用户的密码并且再次输入一次以确认(输入密码时密码将不可见,连*都不会显示)。

设置完毕后,在终端键入命令 su 并输入刚刚设置好的 root 用户密码即可切换到 root 用户。

然后就可以通过 JuiceSSH 对手机上的 Linux 进行操作,但是手机上打命令还是不够方便,可以通过在电脑端也安装一个 SSH 客户端来对手机上的系统进行操作,这也是我常用的方法。


step 5:安装 Xshell

下载地址:https://www.netsarang.com/zh/free-for-home-school/
输入名称和邮箱就有链接发到邮箱,免费下载。

安装好 Xshell 后,选择 文件 -> 新建

名称可以随意填写,也可以和 JuiceSSH 中一样,协议、端口号都跟 JuiceSSH 中配置的一样,由于电脑和手机 IP 不一样,所以 Xshell 中的主机不能填写 127.0.0.1,要填写 Linux Deploy 应用标题栏中的地址,这里是 192.168.1.115。

填写完成后点击 “连接”,依次输入 Linux Deploy 中设置的用户名和密码,即可连接上手机中的系统。在命令行中输入 “su” 即可切换至 root 用户。

也可以在连接的时候,用户名输入 “root”,密码输入之前设置的 root 用户密码,直接以 root 用户登录。

连接成功后可以直接在 Xshell 窗口中输入 Linux 命令对手机中的系统进行操作,相比手机上打命令方便很多。


step 6:文件管理

1. 使用 ES文件浏览器

ES文件浏览器各大应用商店都能下载。

如果通过 “目录” 方式部署的 Linux 系统,那么可以直接使用ES访问路径 /data/user/0/ru.meefik.linuxdeploy/env/rootfs/linux 来管理系统中的文件。

如果通过 “文件” 方式部署的 Linux 系统,管理文件等操作就得依靠 SFTP 或者 SSH 了。

2. Xftp 6

Xshell 和 Xftp 是一家的,Xftp 可以远程进行 SFTP、FTP 文件传输,对于要从 PC 端向手机端传输文件来说相当方便。Xftp 的设置和 Xshell 的设置类似,只是协议不同。

连接最好使用 root 用户登录,避免使用普通用户登录而缺少一些修改文件必要的权限。


至此,手机和电脑上需要安装和配置的软件都介绍完毕,接下来需要在手机的 Linux 系统上安装 nginx,来部署服务器。

传送门:教程 | 用安卓手机搭建 web 服务器(二)—— Nginx 安装配置

教程 | 用安卓手机搭建 web 服务器(一)—— 应用安装配置相关推荐

  1. 教程 | 用安卓手机搭建 web 服务器(二)—— Nginx 安装配置

    上一步完成了必要的软件安装,接下来需要在 Linux 系统上安装 nginx. Nginx("engine x")是一款是由俄罗斯的程序设计师 Igor Sysoev 所开发高性能 ...

  2. 教程 | 用安卓手机搭建 web 服务器(三)—— 内网穿透

    用手机完成服务器搭建后一般会放在寝室或者家里,这时使用的是内网,没有公网的固定 IP,没法进行域名解析,这时候就需要内网穿透了. 内网穿透的解决方案有花生壳.frp.魔法隧道.ngrok 等,我选择的 ...

  3. 如何利用安卓手机搭建WEB服务器

    利用安卓手机搭建WEB服务器 背景介绍 Android是一种基于Linux的自由及开放源代码的操作系统 所以是用安卓来搭建服务器是完全可行的.接下来将教大家如何利用AndroPHP和Feel FTP( ...

  4. 安卓搭建虚拟服务器,安卓手机搭建云服务器

    安卓手机搭建云服务器 内容精选 换一换 本文介绍使用云手机服务时需要了解的基本概念.云手机是一台包含原生安卓操作系统,具有虚拟手机功能的云服务器,简单来说,云手机=云服务器+Android OS.您可 ...

  5. 安卓Termux搭建web服务器【公网远程手机Android服务器】

    文章目录 概述 1.搭建apache 2.安装cpolar内网穿透 3.公网访问配置 4.固定公网地址 5.添加站点 转载自cpolar极点云的文章:[手机建站]Termux+Cpolar内网穿透,搭 ...

  6. 文件web服务器搭建,Web服务器的构建和配置

    利用windows server2003中iis构建web服务器的几种方法.下面是学习啦小编跟大家分享的是Web 服务器的构建和配置,欢迎大家来阅读学习. Web 服务器的构建和配置 工具/原料 wi ...

  7. 基于KSWEB服务器与NAT123端口映射技术-----利用闲置安卓手机搭建网站服务器

    想必各位小伙伴现在在家都闲得无聊,吃饭睡觉,就没事干了,闲来无事,我就想起了我上初中开始,一直有一个网站梦,就是想有一天,搭建一个个人的专属网站!嘻嘻嘻,所以一直就坚持钻研计算机,悲哀的是家里穷没有钱 ...

  8. 安卓系统PHP MYSQL服务器,安卓手机搭建网站服务器【Php+Mysql+Lighttpd】

    早段时间看见过一篇文章介绍安卓手机能充当网站服务器使用: 正好这几天比较闲,决定来测试一下,看看是否真的行得通,稳定性能如何! 架设到手机上面以后测试编辑网站会比较方便,走到哪服务器就跟到哪里: 我手 ...

  9. 手机上能搭建mysql服务器_安卓手机搭建网站服务器【Php+Mysql+Lighttpd】 – 楚盟博客...

    早段时间看见过一篇文章介绍安卓手机能充当网站服务器使用: 正好这几天比较闲,决定来测试一下,看看是否真的行得通,稳定性能如何! 架设到手机上面以后测试编辑网站会比较方便,走到哪服务器就跟到哪里: 我手 ...

最新文章

  1. 2.easyui 控件取值方式
  2. XML在JAVA项目中的作用
  3. c语言数组与指针浅析
  4. 灰色预测法 —— matlab
  5. 5月份,我居然发了这么多文章?我果然无聊.
  6. Navicat 解决方案之ORA-28547
  7. C/C++ 创建两个链表,实现两个链表高位到低位相加,并输出链表
  8. 樊昌信 通信原理第七版 第九章思考题
  9. 在firefox 2.0.0.3中使用onenote 2007收集资料
  10. 转 计算广告 KPI 公式
  11. 屏幕共享软件--Deskreen
  12. win7nodejs压缩包配置环境变量
  13. 经典的双响io电平转换电路仿真
  14. 消息中间件MQ的学习境界和路线
  15. jdk版本升级、技术选型
  16. 探索Google App Engine背后的奥秘(1)--Google的核心技术(转帖)
  17. 如何提高网站seo排名(关键词排名怎么样优化)
  18. QString::fromLocal8Bit()函数
  19. find_in_set 函数 和 in 函数的区别用法
  20. 使用VC++通过QQ邮箱发邮件

热门文章

  1. 喜报!恭喜信必优手机测试组​获得行业排名前三客户荣誉表彰
  2. 超级服务器系统,曙光2000-II超级服务器
  3. 大讲台大数据运维学习笔记
  4. 微信小程序手机号验证码登录(调阿里云短信接口)
  5. 我眼里的企业内耗9大怪状,兼说中国人的劣根性
  6. mysql复合索引的应用场景_mysql复合索引(联合索引)的使用场景
  7. 一眼就能看懂的cin.ignore()函数详解
  8. 华为ICT云赛道练习题(存储)
  9. oracle递归查询例子,oracle递归查询记录
  10. java开发工程师面试题‘’_JAVA开发工程师面试题