当前位置:   article > 正文

安卓手机部署java项目_termux怎么安装java8

termux怎么安装java8

开头:之前做了个文档转换的小项目,想部署在安卓手机上,自己可以随时看看,所以才有了下面这篇文章,内容或有瑕疵,望请批正。文末放我自己部署文档转换网址(工作日工作时间才能访问),仅供大家参考,谢谢!

选择:Termux 还是 Linux Deploy 还是 AidLinux

我自己的情况就是:linux deploy安装ram方式以后,每次重启手机后就无法启动ssh(水平有限解决不了就放弃了);aidlinux安装了商店一打开就闪退,听说是root过了才会这样,当然网上有root过以后怎么安装aidlinux的方法,我偷懒没去深究,就放弃了。最后选择了Termux

Termux安装方式

1、下载F-Droid这个软件,然后在这个软件商城里面搜索Termux,安装就行。

新安装的Termux配置可以参考国光大大的教程:Termux 高级终端安装使用配置教程 | 国光 (sqlsec.com)

首先先说明一下,Termux不管root没root过都能用,root过的可以使用tsu命令转成root用户(谨慎操作),没root的使用termux-chroot。

  1. #没执行termux-chroot命令之前,你打开Termux后pwd的目录是这样的:
  2. ~ $ pwd
  3. /data/data/com.termux/files/home
  4. #而执行termux-chroot命令之后,pwd的目录就变成这样:
  5. ~ $ termux-chroot
  6. ~ $ pwd
  7. /home

注意!

我个人的建议是,像nginx、redis、或你的jar包这些的运行最好是在执行termux-chroot命令切换之后再跑起来,因为像我写的文档转换,就会因为找不到系统字体而报错无法进行转换(无论是把windows字体迁过来后也一样报错),而且整个环境在路径上,有时候你不得不使用绝对路径加上前面这串/data/data/com.termux/files/...才能识别,而执行过termux-chroot之后,你的java程序里面写/home是完全能够识别的,而不会报找不到路径这种错...

Termux版常用软件安装

安装之前需要注意的事情:

  1. 首先先更新系统
  1. apt update
  2. apt upgrade

2、我们先记住一个命令:pkg files xxx 这个命令可以看你安装后的软件的路径,包括配置文件等,有利于你自己查找并修改配置文件的内容。

termux的方便之处就在于你安装即配置,前提条件是你安装已有的,比如jdk17,一个安装命令就能安装并配置系统环境变量,但如果你安装的是jdk8或者其它非17的版本,你需要自己去配置环境变量(看个人)

3、特别注意:我以下的启动方式都是在执行termux-chroot命令之后

nginx安装

输入直接安装

pkg install nginx 

**输入可以直接启动 ** nginx

安装完成后,可以修改配置文件,查看安装的位置 pkg files nginx

JDK8安装

aarch版本

Java Downloads | Oracle

jdk-8u351-linux-aarch64.rpm

JDK17安装

apt install openjdk-17

直接可以查看java版本

java -version

Redis安装

在Termux上有相应的ARM版本的Redis安装包或二进制文件,并且很好安装

1、安装Redis

$ pkg install redis

2、&是以守护进程方式启动redis服务,启动后可以ctrl+c关闭,并不会关闭程序

$ redis-server &

3、登录redis客户端

  1. $ redis-cli
  2. 127.0.0.1:6379> ping
  3. PONG
  4. 127.0.0.1:6379> exit

4、设置登录口令(密码)
Redis没有设置口令时,如果向公网暴露6379端口,就很有可能被黑客劫持
设置密码的方式有两种:第一种是登录客户端设置

  1. 127.0.0.1:6379> config get requirepass
  2. 1) "requirepass"
  3. 2) "" //默认为空
  4. 127.0.0.1:6379> config set requirepass [passwd] //pwd就是设置的口令
  5. 127.0.0.1:6379> ping //未验证口令进行心跳反馈
  6. (error) NOAUTH Authentication required
  7. 127.0.0.1:6379> auth [passwd] //验证口令

第二种是在配置文件中修改
Windows在安装目录下打开redis.windows.conf文件,大约在443行
Linux在/usr/etc/目录下打开redis.conf文件,大约在507行
找到requirepass字段,取消注释,将后面的字符串修改为要设置的口令

requirepass [passwd]

保存退出

关闭redis,指定配置文件重新启动, 重新登录客户端验证口令

  1. $ redis-server /etc/redis.conf &
  2. $ redis-cli
  3. 127.0.0.1:6379> auth [passwd]
  4. OK
  5. 127.0.0.1:6379> ping
  6. PONG
  7. 127.0.0.1:6379> exit

可以带口令/IP/端口登录客户端

  1. $ redis-cli -h [host] -p [port] -a [passwd]
  2. 127.0.0.1:[port]> ping
  3. PONG
  4. 127.0.0.1:[port]> exit

MySql安装

MySQL数据库没有在ARM平台的二进制安装文件/源码包,而其重要分支也是目前主要的MySQL替代产品MariaDB有在手机等ARM平台的安装包/源码包.
下面开始在安卓手机Termux终端中安装数据库

1、安装MariaDB(即mysql)

pkg install mariadb

切换到etc目录查看是否有my.cnf.d目录

  1. $ cd /data/data/com.termux/files/usr/etc
  2. $ ls

没有就新建一个

$ mkdir my.cnf.d

配置MariaDB

$ mysql_install_db

如果提示mysql.user table已经存在,则配置

$ mysql_upgrade

启动MySQL/MariaDB服务

$ mysqld &

$ mysqld_safe -u root &

mysqld是mysql数据库的守护进程,而mysqld_safe相当于是mysqld的守护进程,&是让进程后台运行,不占用终端,如果没加,Ctrl+C等方式退出进程重新加上&,或另起一个终端.

1、登录数据库
由于MariaDB默认没有密码,提示输密码时直接回车

$ mysql -uroot -p

或者不加参数

$ mysql

$ mariadb

2、查看数据库是否有'mysql'这个数据库

MariaDB [(none)]> show databases;

(如果没有则请使用上面的命令重新安装)
3、再看mysql数据库里是由有'user'这个表

  1. MariaDB [(none)]> use mysql;
  2. MariaDB [(mysql)]> show tables;

(有mysql数据库就一般有user表,没有也重新安装)
4、 查看表信息

MariaDB [(mysql)]> select * from user;

可以看到安装后有两个用户,'root'和'a0_****',两个用户默认都没有密码.

如果密码执行mysql_secure_installation命令更新root密码报错:Access denied for user 'root'@'localhost'

就先把mysqld的进程杀了,重启执行:mysqld --skip-grant-tables &

如果要输入密码,直接回车,然后切换到mysql数据库:use mysql

然后执行修改密码的命令:alter user 'root'@localhost identified by '你的密码';

如果报错: The MariaDB server is running with the --skip-grant-tables option so it cannot execute this statement,则执行flush privileges,然后再重新执行上面的修改密码的命令,再flush privileges;就可以了

5、为用户设置密码

MariaDB [(mysql)]> alter user 'root'@'localhost' identified by 'xxx';

6、设置远程登录的权限

设置脚本开机自启动ssh

输入命令编辑

vi ~/.bash_profile

如果出现syntax error near unexpected token `fi',则有可能编码有问题。使用cat -v ~/.bash_profile命令可以看到每一行的结尾都带着^M 明显不对,因为^M是window的换行符,不是linux的

  1. vi ~/.bash_profile
  2. :set ff #查看发现是dos
  3. :set ff=unix #设置为unix模式
  4. :wq #保存退出即可
  1. if pgrep -x "sshd" >/dev/null
  2. then
  3. echo "ssh-service运行中..."
  4. else
  5. sshd >/dev/null &
  6. echo "ssh-service已开启..."
  7. fi

注意,.bashrc脚本是每当有一个新会话就会执行里面的命令,而.bash_profile脚本是一个用户登录就会执行,不管后面有多少个新会话使用这个用户都不会再执行

定时执行脚本cronie

这个定时执行的脚本我是用来定时巡检自己的软件有没有宕机的,如果有宕机了则重新启动这样

1、安装 pkg install cronie

2、指令集 crond [options]

  1. -h print this message打印此消息
  2. -i deamon runs without inotify support在没有inotify支持的情况下运行
  3. -m <comm> off, or specify preferred client for sending mails在没有inotify支持的情况下运行
  4. -n run in foreground在前台运行
  5. -f run in foreground, the same as -n在前台运行,与-n相同
  6. -p permit any crontab允许任何crontab
  7. -P inherit PATH from environment instead of using default value of "/data/data/com.termux/files/usr/bin"从环境继承PATH,而不是使用默认值
  8. -s log into syslog instead of sending mails我们登录syslog而不是发送邮件
  9. -V print version and exit打印版本并退出
  10. -x <flag> print debug information打印调试信息
  1. Usage:
  2. crontab [options] file
  3. crontab [options]
  4. crontab -n [hostname]
  5. Options:
  6. -e edit user's crontab
  7. -l list user's crontab
  8. -r delete user's crontab
  9. -i prompt before deleting
  10. -T <file> test a crontab file syntax
  11. -V print version and exit
  12. -x <mask> enable debugging

3、常用命令,在crontab命令编辑界面输入crontab命令:  * * * * * date >> /home/date1.txt   (前面五个* * * * *表示时间是每隔一分钟 date命令就是得到当前的系统时间, >> 命令表示将结果累加到文件后面 > 命令则表示将结果覆盖文件 )

  1. #添加定时执行任务按ctrl+其它提示键操作、编辑内容
  2. crontab -e
  3. #查看已添加的任务调度列表
  4. crontab -l
  5. #开启
  6. crond start

小结

感谢大家的观看,最后在这里附上我写的免费文档转换的小网站 登录 (idcfengye.com)

源码在gitee地址:Mitch文档转换: 文档格式转换,支持常见10种文件格式的上传,可转换的类型有数十种;保存的方式有两种:本地保存、二进制流返回部分文档可以看到转换进度(websocket)示例网站:http://www.mitchconvert.top/



 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/335603
推荐阅读
相关标签
  

闽ICP备14008679号