安卓手机改服务器
假设你想购置云服务器但是感觉很多时候用不上,但是物理机的话,重新购置一台云服务器或者笔记本的话,开销相对较大,迷你主机的话,性能又实在拉胯,而且散热也是一个大难题,但是你想到了你多年前,4+64G的手机,既然安卓本身就是linux的核心,那么我可不可以把这个作为一台服务器或者云数据库?云mysql/redis?可以的,如果手机是较新版,以及型号相对好一点,那么一般来说可以直接刷机linux系统,但是对于一些老手机或者其他杂牌手机,刷机的话,很容易出现大问题,还可能导致系统丢失,所以装TerMux软件将是一个不二的选择。
1、安装termux软件
2、配置相对应的环境,本人常用架构为SpringBoot+Vue,所以需要配置的环境如下,jdk17、nginx、mysql8、redis
在使用之前,先进行镜像列表拉取更新列表
使用的时候,可能装软件的很慢,解决办法有两个,第一个是科学上网,第二个是更换镜像源
sql
pkg update && pkg upgrade -y
jdk
安装
pkg install openjdk-17
在装完jdk的时候可以输入以下命令验证
java -version
如果输出一下语句,那么就安装jdk成功
java
~ $ java -version
openjdk version "17.0.15" 2025-04-15
OpenJDK Runtime Environment (build 17.0.15+0)
OpenJDK 64-Bit Server VM (build 17.0.15+0, mixed mode)
由于Termux环境不支持AWT图形绘制,所以有些时候对于图片生成,或者某些方法的时候,会失效,那么就需要进行寻找替代品替代,比如使用第三方的验证码图片服务,主要是针对于服务器内部的后端
mysql8 ?(由于termux不支持MySQL,但是有完全替代品,MariaDb)
MariaDb为什么会是完全替代品,MySQL8除了一些高级语法在MariaDb不兼容,其他完全兼容,在开发环境如何使用,那么MariaDb也可以正常使用,包括MariaDb的url连接其实和mysql完全一致
安装
pkg install mariadb
初始化数据库
mariadb-install-db
启动数据库
mysqld_safe &
登录数据库
mysql -u root
初始化用户的密码
bash
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';# 将root用户密码改为"你的密码"
FLUSH PRIVILEGES;# 刷新权限
exit;#退出数据库
初始化完密码,可以输入以下语句进行测试,在输入你的密码,如果成功进入mysql,那么就是操作成功
css
mysql -u root -p
如何在笔记本电脑用Navicat访问termux的内部数据库?
默认情况下是进允许本地ip,如果需要允许监听外部ip,那么需要进行以下操作
1、在mysql中,进行用户的权限修改
- 新建一个远程用户
sql
CREATE USER '你的用户名'@'%' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON *.* TO 'spring'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
- 修改root用户的远程权限
sql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;
2、修改MariaDb的配置文件
一般情况下,配置文件如下/data/data/com.termux/files/usr/etc/my.cnf
编辑该文件
kotlin
nano /data/data/com.termux/files/usr/etc/my.cnf
找到 [mysqld]
部分,添加或修改为:
ini
bind-address = 0.0.0.0
保存并退出(Ctrl + O 回车保存,Ctrl + X 退出)。
修改配置文件之后,需要重启该服务
pkill mariadbd
mysqld_safe &
Redis
安装(默认6379,和其他环境一致)
pkg install redis
启动redis
vbscript
redis-server &
连接测试redis
redis-cli
nginx
安装(由于安卓对于一些端口有限制,所以默认端口为8080)
pkg install nginx
nginx在装完的时候可以运行一下语句进行运行nginx服务器
nginx
nginx常用语法就是如下:进行重启服务器
nginx -s reload
进行nginx语法检查
nginx -t
其他组件(git、unzip、wget、vim)
pkg install git unzip wget vim
Git代码控制仓库
unzip用来进行解压
wget用来下载文件
vim进行文件的快捷编辑

远程操作
如果你有一部笔记本电脑,而且和你作为服务器的手机在同一局域网(wifi)也行,那么你怎么通过笔记本进行操作手机?
手机端 安装openssh
pkg install openssh
安装完成之后,需要为ssh进行设置服务密码,也可以称为当前用户的密码,在输入以下命令之后,即可设置,需要输入两遍(这里是隐藏的,不要因为光标貌似没动,就认为没有输入相对应的文本,其实是隐藏的)
passwd
启动ssh服务
sshd
在启动ssh服务之后,我们需要知道当前设备的ip地址,然后才能通过再同一局域网的其他设备来连接该设备
ip addr shwo wlan0
一般来说局域网内的ip形同 192.168.x.y
例如:192.168.0.1
知道了当前设备的ip地址,其次我们还需要知道当前用户是谁?输入以下指令即可获取
bash
whoami
由于是Termux ssh默认端口是8022,并非22所以需要进行额外注释
关闭ssh服务
pkill shhd
笔记本端 (ssh命令行或者采用xshell+xftp)
SSH方式
css
ssh -p 8022 [email protected]
xshell+xftp
在这两个网页可以进行相对应的软件下载
xshell使用
1、新建连接,名称可以随意,协议SSH,主机就是安卓手机的ip地址,端口号8022
2、点击用户身份验证,输入安卓设备的用户名,密码就是自己设置的密码,然后方法是password
3、点击连接即可
xftp使用
1、新建连接,用法和xshell一致,不过xftp的用户名密码和站点在一个页面
2、点击连接即可
内网穿透
Natapp
natapp的话,目前termux不支持,可能是测试的手机问题,但是网上有很多都是可以的
安装可以从官网
NATAPP-内网穿透 基于ngrok的国内高速内网映射工具
运行
ini
/natapp -authtoken=xxxxxxxx
cloudflared
安装
pkg install cloudflared
运行,穿透网址也会出来,这个是免费测试的,但是时间可能很短,而且不稳定
arduino
cloudflared tunnel --url http://localhost:你的端口