使用AidLux在安卓手机上搭建一个java服务器
背景
我有一部旧手机,功能完好,后盖碎了,卖不了几个钱,但是12G的内存512G的空间让我舍不得丢,作为一个程序员,平常也会写一点demo玩玩,就想着拿这部旧手机当作一台服务器使用。
AidLux
这个应用可以让你的手机变成一台Linux服务器,小米应用商店里就可以搜索安装。
AidLux文档
浏览器连接手机
AidLux支持使用浏览器连接手机进行操作的功能,使用我们常用的shell工具连接手机反而不是那么好用。
连接的方法是让你的电脑和手机处在同一局域网内,访问手机ip的8000端口即可,例如:192.168.2.6:8000
,然后就可以进入AidLux的界面,进行操作了。
搭建java环境
我们这里只搭建最基础的jdk+MySQL的环境。
安装jdk
[官方文档](https://docs.aidlux.com/#/intro/configuration/java)也提供了搭建知道,可以参考。
去Oracle官网下载arm64架构版本的jdk(我这里下载的是tar包),利用上面提到的浏览器工具上传tar包到/opt目录下(目录是个人习惯),然后进行解压,修改环境变量。
# 解压命令
tar -zvxf jdk-8u361-linux-aarch64.tar.gz
# 修改环境变量
vim /etc/profile
将下面的内容加在profile最下面(按i开始编辑)
#set java env
export JAVA_HOME=/opt/jdk1.8.0_361
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
注意,这里第一行的目录是你解压后的目录,也就是你自己下载的jdk版本。
按:输入wq保存退出。
# 使配置生效
source /etc/profile
# 验证是否安装成功
java -version
出现下面的输出表示安装成功
root@localhost:/opt# java -version
java version "1.8.0_361"
Java(TM) SE Runtime Environment (build 1.8.0_361-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.361-b09, mixed mode)
在使用过程中我发现,当AidLux重启之后,需要再次source一下,不然jdk环境不生效。
更新:在逛论坛的过程中发现了这个问题的解决办法
# ~/.bashrc 是一个 Bash shell 的配置文件,它位于用户主目录下。每当你启动一个 Bash shell,这个文件都会被执行,并为你提供一个自定义的环境。它包含了各种 shell 环境的变量、别名、函数等等的配置。
# 解决办法就是在这个文件的末尾加上 source /etc/profile
vim ~/.bashrc
安装MySQL
这里本来是想安装完整版的arm64架构的MySQL的,但是太麻烦了,所以直接使用apt安装,简单又好用。
apt install mariadb-server
注:mariadb是由 MySQL 的原开发团队创建的分支项目。
# 启动命令
service mysql start
# 登录(默认有一个空密码的root用户)
mysql -uroot
接下来,修改配置使允许远程访问。
# 1.编辑 MariaDB 配置文件 my.cnf,通常在 /etc/mysql/ 目录下。
# 在文件底部加上如下配置
[mysqld]
bind-address = 0.0.0.0
# 2.保存文件推出编辑器
# 3.重启数据库使配置生效,我这里一直停止失败,我是重启了AidLux,然后就可以了(重装AidLux后解决)
service mysql restart
# 4.授予允许远程连接的用户访问权限(这里强烈建议不要设置为root\root,因为我设置之后java程序连不上数据库,又创建了一个新用户才可以,推测是因为原本就有一个空密码的root用户的原因)
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
# 5.重新加载权限表以使更改生效。我试了一下,不刷新也是生效的。
FLUSH PRIVILEGES;
修改时区
我遇到时区不对的问题,这里记录下如何修改
# 展示当前系统时间
date
# 交互式界面修改时区,选择Asia shanghai即可
sudo dpkg-reconfigure tzdata
结语
如果说在搭建过程中遇见了一些问题,建议卸载AidLux后重新安装,上面提到的无法停止MariaDB的问题再重装之后就消失了,推测可能是之前安装后又卸载了AidLux应用市场里的MySQL的原因。