假设你想购置云服务器但是感觉很多时候用不上,但是物理机的话,重新购置一台云服务器或者笔记本的话,开销相对较大,迷你主机的话,性能又实在拉胯,而且散热也是一个大难题,但是你想到了你多年前,4+64G的手机,既然安卓本身就是linux的核心,那么我可不可以把这个作为一台服务器或者云数据库?云mysql/redis?可以的,如果手机是较新版,以及型号相对好一点,那么一般来说可以直接刷机linux系统,但是对于一些老手机或者其他杂牌手机,刷机的话,很容易出现大问题,还可能导致系统丢失,所以装TerMux软件将是一个不二的选择。
1、安装termux软件
2、配置相对应的环境,本人常用架构为SpringBoot+Vue,所以需要配置的环境如下,jdk17、nginx、mysql8、redis
在使用之前,先进行镜像列表拉取更新列表
使用的时候,可能装软件的很慢,解决办法有两个,第一个是科学上网,第二个是更换镜像源
pkg update && pkg upgrade -y
jdk
安装
pkg install openjdk-17
在装完jdk的时候可以输入以下命令验证
java -version
如果输出一下语句,那么就安装jdk成功
~ $ 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
初始化用户的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';# 将root用户密码改为“你的密码”
FLUSH PRIVILEGES;# 刷新权限
exit;#退出数据库
初始化完密码,可以输入以下语句进行测试,在输入你的密码,如果成功进入mysql,那么就是操作成功
mysql -u root -p
如何在笔记本电脑用Navicat访问termux的内部数据库?
默认情况下是进允许本地ip,如果需要允许监听外部ip,那么需要进行以下操作
1、在mysql中,进行用户的权限修改
- 新建一个远程用户
CREATE USER '你的用户名'@'%' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON *.* TO 'spring'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
- 修改root用户的远程权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
FLUSH PRIVILEGES;
2、修改MariaDb的配置文件
一般情况下,配置文件如下/data/data/com.termux/files/usr/etc/my.cnf
编辑该文件
nano /data/data/com.termux/files/usr/etc/my.cnf
找到 [mysqld] 部分,添加或修改为:
bind-address = 0.0.0.0
保存并退出(Ctrl + O 回车保存,Ctrl + X 退出)。
修改配置文件之后,需要重启该服务
pkill mariadbd
mysqld_safe &
Redis
安装(默认6379,和其他环境一致)
pkg install redis
启动redis
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 show wlan0
一般来说局域网内的ip形同 192.168.x.y
例如:192.168.0.1
知道了当前设备的ip地址,其次我们还需要知道当前用户是谁?输入以下指令即可获取
whoami
由于是Termux ssh默认端口是8022,并非22所以需要进行额外注释
关闭ssh服务
pkill shhd
笔记本端 (ssh命令行或者采用xshell+xftp)
SSH方式
ssh -p 8022 u0_aXXX@192.168.1.100
xshell+xftp
XFTP – NetSarang Website
XSHELL – NetSarang Website
在这两个网页可以进行相对应的软件下载
xshell使用
1、新建连接,名称可以随意,协议SSH,主机就是安卓手机的ip地址,端口号8022
2、点击用户身份验证,输入安卓设备的用户名,密码就是自己设置的密码,然后方法是password
3、点击连接即可
xftp使用
1、新建连接,用法和xshell一致,不过xftp的用户名密码和站点在一个页面
2、点击连接即可
内网穿透
Natapp(强烈推荐)
natapp的免费隧道一般是两天,价格也相对划算
在申请完免费隧道之后,需要点击我的隧道,然后配置这个的隧道,比如本地端口,也就是你前端nginx的端口,这里的话,相当于直接将你本机的端口直接映射到这个域名上面,而不用在域名上面添加端口号什么的。一般来说8080即可
natapp的话,目前有些机型不支持不支持,可能是测试的手机问题,但是网上有很多都是可以的
安装可以从官网
NATAPP-内网穿透 基于ngrok的国内高速内网映射工具
运行
/natapp -authtoken=xxxxxxxx
如果不支持,有备选方案
我目前测试的机型是一款老机型,在termux里面运行总是报错如下:而且修改dns等方式也全部起效果,也许是安卓的问题,所以只有另辟蹊径
.../file/neiwang $ ./natapp
连接认证服务器错误 1 秒后重试...
internal error: Post "https://auth.natapp.cn/auth?_upt=6fd2b02e1750129477": dial tcp: lookup auth.natapp.cn on [::1]:53: read udp [::1]:49750->[::1]:53: read: connection refused
连接认证服务器错误 2 秒后重试...
internal error: Post "https://auth.natapp.cn/auth?_upt=80453b021750129478": dial tcp: lookup auth.natapp.cn on [::1]:53: read udp [::1]:37439->[::1]:53: read: connection refused
连接认证服务器错误 4 秒后重试...
internal error: Post "https://auth.natapp.cn/auth?_upt=9b9e76331750129480": dial tcp: lookup auth.natapp.cn on [::1]:53: read udp [::1]:47783->[::1]:53: read: connection refused
连接认证服务器错误 8 秒后重试...
1、进行容器添加proot-distro ,这个相当于一个用户模拟态,一般用作学习来使用,性能方面远不及Termux和原生,所以一般情况不使用,除非迫不得已,但是没有更多的解决方案,所以也只好采用这个来进行实现,proot-distro可以进行多linux内核的管理,比如debian,ubantu等
pkg install proot-distro
2、装配相对应高的linux内核,可以根据自己喜欢来,这里主要采用Debian
proot-distro install debian
3、进入相对应的发行版
proot-distro login debian
4、安装一些基础的工具
apt update # 首先先更新镜像源目录
apt install curl wget unzip -y #这里主要安装一些基础的工具,curl是拉取网页,wget是下载,unzip进行解压文件,-y参数是全部选择yes
5、进行拉取natapp软件
wget https://download.natapp.cn/assets/downloads/clients/2_4_0/natapp_linux_arm64/natapp
我目前采用的arm64的机型(aarch64),但是不同机型也可以根据自己的来安装对应的软件,可以通过以下命令查看自己的机型
uname -m
在这里可以查看到对应的机型客户端,一般来说这里直接是执行文件,所以不需要解压
NATAPP-内网穿透 基于ngrok的国内高速内网映射工具
6、拉取完这个natapp的客户端,需要进行权限操作,不然执行不了
chmod +x natapp
7、运行natapp
./natapp -authtoken=你的token
8、打开浏览器访问你这个natapp的域名
例如:(http://q8954373.natappfree.cc/)
cloudflared
安装
pkg install cloudflared
运行,穿透网址也会出来,这个是免费测试的,但是时间可能很短,而且不稳定
cloudflared tunnel –url http://localhost:你的端口
评论前必须登录!
注册