一、前言
随着手机更新换代的加速,每个人都有一些功能正常,但是闲置的手机,其实现在的手机都是ARM架构的,大多数手机内存还不小,相对于现在各大厂商提供的云服务器来讲,配置已经很不错了,所以这么好的资源能利用起来还是非常不错的~
二、工具介绍
目前能用的工具有很多,比如BusyBox、Linux Deploy、juice ssh、termux,但是很多都是需要手机能够root的,但是root并不是所有手机都能够简单获取到的,所以我这里选取Termux进行操作。
三、什么是Termux
Termux 是一款运行于 Android 系统的开源终端模拟器。提供了 Linux 环境,即使设备不具备 root 权限也可使用。通过自带的包管理器(Pacman、 APT),Termux 可以安装许多现代化的开发和系统维护工具,例如 zsh、Python、Ruby、NodeJS、MySQL 等软件。
四、开始改造
4.1 Termux安装
Termux下载:https://github.com/termux/termux-app/releases/tag/v0.118.1

安装完成后,可以执行以下命令更新一下各软件包:
pkg update && pkg upgrade

4.2 安装openSSH
成功安装Termux之后,虽然手机是可以像服务器一样执行一些操作,但是毕竟手机管理配置起来没有PC方便,所以可以安装SSH服务,方便PC来远程操作。
# 安装openssh
pkg install openssh
# 默认端口为8022,修改端口
sshd -p 8888
# 启动ssh服务
sshd

4.3 远程连接SSH
要远程连接可以使用终端或者SSH客户端(如:PuTTY、Termius、XShell、MobaXterm等),使用以下命令连接到Termux服务。
ssh -p 8022 <username>@<device_ip>
username
在Android手机上使用Termux搭建服务器,并通过SSH让PC进行登录和操作时,**默认的用户名通常是u0_aXXX
,**可以通过以下方式获取到你的用户名是什么:
device_ip
通过以下命令获取手机的IP,这里的IP是局域网IP。
连接时需要密码,由于termux服务默认密码为空,所以需要设置一个密码,具体方式如下:
# 切换管理员账户(如果有)
su
# 设置密码
passwd

五、注意点
5.1 保持服务在线
由于Termux是直接运行到Android手机上的,也是一个APP程序,所以需要注意Termux程序不要退出了。
5.2 内网服务
虽然经过上述方式已经实现了服务器的常规基础配置和操作功能,但是毕竟是在手机上的一个服务,也是受到网络环境限制的,因此如果要保证服务可用,需要保证手机和使用端在同意局域网内。
六、扩展
如果对手机作为网站服务器以及移动无线硬盘相关的内容,欢迎关注,后续会尽快分享相关方法。
旧Android手机改为个人服务器,不需要root(2)—内网穿透
上一篇文章有不少朋友说没有写完服务器搭建,也不知道内网穿透,那今天就进一步介绍一下如何在Android手机上安装服务器,以及通过内网穿透实现互联网访问~
想要查看手机如何改造配置支持服务器环境搭建的,可以去上一篇文章查看~
一、常见服务器软件
这里仅仅涉及单一服务器软件介绍,不涉及如XAMPP、宝塔、PHPStudy等集成环境~
1.1 Apache
适用场景: 适合中小型网站、需要复杂配置和模块化功能的应用,以及企业级应用。
特点: 开源且免费,具有高度的跨平台性,几乎可以运行在所有操作系统上,性能稳定、可靠。
1.2 Nginx
适用场景: 适用于需要处理高并发、高流量的Web场景,如大型电商网站、在线视频网站等。也可以用作反向代理服务器,将请求进行分发处理,提高系统的负载能力和响应速度。
特点: 高性能、资源消耗低、可作为HTTP服务器以及反向代理服务器。
1.3 TomCat
适用场景: 适用于小型Java Web应用的开发和部署,特别是适用java进行后台开发,需要支持Servlet和Jsp时,可以选择。
特点: 开源的轻量级Serverlet容器、轻量、简单易用、性能稳定、免费,支持扩展。
1.4 IIS
适用场景: 适用于Window Server的企业环境、运行http://ASP.NET应用程序以及需要集成Windows特性的Web应用。
特点: 由微软公司开发的,专为Window Server系统设计,支持http://ASP.NET和其他微软技术,具有图形化管理界面,简化了配置和维护工作。
二、服务器搭建
由于个人常用的是Nginx,因此以下以Nginx进行介绍,如对其他感兴趣,有问题也欢迎留言、私信交流~
同样为了操作方便,我还是通过MobaXterm直接连接手机,这样方便输入命令。
2.1 安装Nginx
安装Nginx可以编译安装也可以像我一样快速安装,我这里安装的是1.27.3版本,安装命令:
pkg install nginx
// 或者使用apt
apt install nginx

通过以上命令安装完成后,具体的安装和站点目录如下:
安装目录为:/data/data/com.termux/files/usr/etc/nginx
站点目录为:/data/data/com.termux/files/usr/share/nginx/html

2.2 启动Nginx
termux安装nginx后启动命令也相对更简单,只需要输入nginx回车即可启动服务:
启动后Nginx默认监听的端口是8080,所以可以通过访问http://手机ip:8080 直接访问。

2.3 Nginx配置
常见配置主要是针对端口、地址和站点信息进行配置,对应的配置文件为/data/data/com.termux/files/usr/etc/nginx目录中的nginx.conf文件。

至此服务器环境已经搭建完成,并且支持了局域网访问~
三、内网穿透
从上一篇文章的反馈来看,还是有不少人不知道内网穿透,内网穿透是一种将位于局域网的设备或者服务暴露给公网访问的技术。在这里最直接的使用场景就是可以将我们Android手机上的网站,让不在同一个网络下的其他设备访问。
以下是常见的集中穿透工具,个人常用ngrok:
- Ngrok
- FRP
- Cpolar
- 向日葵
- …..
以下通过介绍安装Ngrok实现手机的站点,互联网访问。
3.1 注册Ngrok
Ngrok是一款免费的内网穿透工具,免费的带宽做一些基础的服务还是可以的。使用Ngrok需要注册后获取key使用。
Ngrok官网地址:https://ngrok.com/
3.2 下载Ngrok
第一步: 注册登录后在安装这里选择目标平台,官方会有详细的安装教程。由于是Android所以我这里选择的是Linux版本。

第二步: 通过下载软件包上传到手机中进行的解压使用。我这里使用MobaXterm自带文件上传下载功能,所以可以很方便的将软件包上传到手机目标目录。


第三步: 上传到手机后,可以通过以下命令解压软件包,解压后你就会得到可以执行的ngrok程序了。
tar -xvzf ~/Downloads/ngrok-v3-stable-linux-arm64.tgz
3.3 启动Ngrok
第一步: 为了避免Ngrok程序不具备可执行权限,可以通过以下命令先给它赋予权限:
第二步: 通过以下命令配置Ngrok的authtoken:
ngrok config add-authtoken 你的token
token的获取方式是登录Ngrok官网后,在Your Authtoken页面获取。

第三步: 启动内网穿透服务。通过以下命令可以直接启动穿透服务,并且制定代理哪一个端口:
// 这里的http以及8080需要替换为你本地设置的协议类型以及端口
ngrok http 8080


至此,旧Android手机改为个人服务器应该算是差不多了,没人再说我写一半了吧~
大家还有什么感兴趣的,或者疑问的,欢迎随时留言、私信,一起交流~x