注意啦:如果不想在这么麻烦下载可以移步到八.Termux的备份和恢复
这一步
一.原因
手机更新换代速度很快,就算很久才换一次手机,家里的旧手机是咋处理的呢?
可是当你突然发现
别换盆,咱用手机弄一个服务器,弄一个家庭网盘都是可以的,绝对是不限速的,当前前提取决于你的网速(家里一般都有无线网络吧,没有的话可以弄张流量卡,要是不多就别弄网盘了再传上几个g没流量就嗝屁了)
这里写的主要是在手机上使用Termux软件安装linux搭建java环境运行jar包
手机搭建java环境,手机运行jar包,无需root,外网也可以访问
建议先大致看一遍,然后在进行操作,让外网访问使用花生壳app内网穿透就可以
二.下载软件
推荐使用官网下载,先下载F-Droid
然后再去软件里面搜索Termux
下载
或者从或者Google Play
下载,Google Play
网络有限制,具体可以百度,个人推荐使用F-Droid,当然只是推荐
F-Droid地址:https://f-droid.org/packages/com.termux/
Google Play地址:https://play.google.com/store/apps/details?id=com.termux
Termux官网:https://termux.dev/en/
三.配置
1.更换安装源
termux-change-repo
输入命令,出现下面的界面,点击ok或者回车都可以
刚开始是下面的图片
等变成下面的图片然后点击ok或者回车,有的不是ChinaAll
,可以选择Tsinghua
(清华源)
点击可以可以进行切换
更新
pkg update
安装常用软件
pkg install vim curl wget tree -y
2.授予权限,创建链接
3.1授予termux读取文件的权限
输入命令等一会就会跳出来,允许之后输入ls就发现多了一个storage
文件夹,storage
里面的各个文件夹分别指向手机的各个文件夹其中shared
是指向内部存储的根目录
termux-setup-storage
3.2创建软连接
创建软连接的目的是为了方便之后的使用,如果没有软连接就要多输好多来完成对文件的操作
在这里,我在手机的根目录创建1/file文件,方便寻找嘛
ln -s storage/shared/1/file/ file
输入ls -l
就会发现多了一个映射文件file
3.3创建ssh连接
因为使用手机操作确实不是太方便,这里安装openssh电脑连接进行操作,当然只使用手机也可以,只是建议
安装openssh
pkg install openssh -y
设置密码,输入密码的时候是看不见的,需要输入两遍密码
passwd
然后ifconfig
获取ip地址,whoami
获取用户名
这里推荐电脑给手机开热点,或者电脑手机同时连上一个wifi,或者使用内网穿透或者…然后才能使用电脑进行连接,打开手机的wifi也可以查看ip
然后就可以在电脑进行连接
3.4Xshell连接
手机启动ssh
sshd &
开始连接
有电脑的就可以在电脑看大屏进行之后的操作,没电脑还是继续使用手机弄吧
可以不使用,只是记录一下
设置自启动的
pkg install termux-services
sv-enable sshd
termux的root权限有两种方法
1.手机没有root,利用proot模拟rootpkg install proot
termux-chroot
#进入rootexit
#退出
2.手机已经root,可以安装tsupkg install tsu
tsu
#进入rootexit
#退出
3.下载jdk
jdk可以自己官网下载需要的版本,也可以是用推荐下载
3.1命令下载
因为我想用jdk1.8然后…
1.查询官方提供的JDK
pkg search jdk
会列出可以下载的jdk,下面就一个openjdk-17
2.安装JDK
pkg install openjdk-17
3.验证是否安装成功
java -version
3.2官网下载
下载自己需要的jdk版本,注意选择linux-aarch64的版本
Oracle官网下载地址:https://www.oracle.com/java/technologies/downloads/
不想去登录账号下载的看这里,我之下载了jdk-8u341-linux-aarch64.tar.gz版本,下载没限速,网速快,几秒就下完了
jdk-8u341-linux-aarch64.tar.gz,点击这里去下载,密码为1234
3.2.1将jdk放到termux
下载完之后将安装包传输到手机里面,放到
根目录/1/file
文件夹下
cp是复制,mv是移动
cp file/jdk-8u341-linux-aarch64.tar.gz ~
mv file/jdk-8u341-linux-aarch64.tar.gz ~
3.2.2解压jdk
解压jdk并且删除,如果不想删除就把&&和之后的代码去掉即可
tar -zxvf jdk-8u341-linux-aarch64.tar.gz && rm -rf jdk-8u341-linux-aarch64.tar.gz
进入解压之后的目录
cd jdk1.8.0_341
输入
pwd
获取路径
路径为:/data/data/com.termux/files/home/jdk1.8.0_341
先进行安装linux,之后把环境放到linux里面
4.下载Linux
4.1使用proot-distro下载
4.1.1下载安装proot-distro
pkg install proot-distro
4.1.2查询支持的版本
proot-distro list
4.1.3安装ubuntu
proot-distro install ubuntu
Now run ‘proot-distro login ubuntu’ to log in.
4.1.4运行linux
proot-distro login ubuntu
编写启动脚本,每次都要使用命令启动,写一个运行脚本,直接运行启动脚本就OK了
vi ~/linux-ubuntu-start.sh
输入i ,进入编辑模式,将脚本复制进去,然按esc使用 :wq 命令保存并退出即可,脚本如下:
#启动linux-ubuntu
echo "linux-ubuntu running..."
proot-distro login ubuntu
给脚本设置可执行的权限
chmod +x ~/linux-ubuntu-start.sh
4.1.5启动Linux
./linux-ubuntu-start.sh
4.2使用脚本下载
先安装需要的git拉取东西用的,proot启动Centos会用
pkg install proot git -y
使用git进行拉取
git clone https://github.com/sqlsec/termux-install-linux
然后就会发现多出来一个termux-install-linux
文件夹
cd termux-install-linux
安装python环境,因为执行的脚本需要python
pkg install python -y
查看是否安装成功
python -V
启动脚本,然后进行选择就可以,
python termux-linux-install.py
这里我安装Centos,选择完之后回车就进行下载了,然后进行等待
有的人会报错类似于CANNOT LINK EXECUTABLE "sh": library "/data/data/com.termux/files/usr/lib/libtermux-exec.so" needed or dlopened by "/system/bin/sh" is not accessible for the namespace "(default)"
这样的错误,退出并且关闭软件,重新进入,运行dpkg --configure -a进行修复,然后重新启动脚本
完成之后回到主目录,进入
Termux-Linux
文件夹(脚本下载的都放在这里),然后相对应的系统有相对应的名字
我这里下载的是CentOS就直接进入这个文件夹
cd Termux-Linux/CentOS/
启动系统
./start-centos.sh
5.配置jdk环境
输入
whoami
查看是不是root
用户
5.1编辑配置
vi /etc/profile
5.2加入jdk配置
输入
i
进入编辑模式,再末尾加上如下内容
这里的JAVA_HOME
写的是之前pwd
获取到的路径
#set jdk
JAVA_HOME=/data/data/com.termux/files/home/jdk1.8.0_341
CLASS_PATH=$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASS_PATH PATH
5.3 重新加载配置文件
source /etc/profile
5.4查看是否配置成功
java -version
四.测试
1.传输文件到linux
先把文件放到根目录/1/file
文件夹下面
例如我放的是wx.jar
启动linux进行操作,把jar包
从file
文件夹下移动到 /opt
目录下
mv /data/data/com.termux/files/home/file/wx.jar /opt
2.启动jar包
java -jar wx.jar
然后输入手机ip:端口号进行访问
五.实现外网访问
1.NATAPP
好处:使用natapp就在linux里面运行命令,锻炼linux命令
坏处:咱这是手机,咱能安装app,这个有时还会掉线,不想让别人看的时候关闭比较麻烦
1.1.内网穿透
这里使用的是
natapp
NATAPP官网:https://natapp.cn/
注册登录后添加隧道
直接免费购买
记录一下刚才配置端口的authtoken用的到
1.2.下载执行文件
点击右上角客户端下载
网址:https://natapp.cn/#download
1.3.运行
下载完之后,将文件放到
手机根目录/1/file
文件夹下面
将
natapp
移动到linux
里面
先创建文件,我一般放到/usr/local
里面
mkdir /usr/local/natapp
cd /usr/local/natapp
移动natapp
mv /data/data/com.termux/files/home/file/natapp /usr/local/natapp/
确保之前弄进来的jar包正在启动,可以前台启动,然后在新建一个连接,或者后台启动,如果是手机就使用后台启动把
这样就把wx.jar在后台启动了,其中a.log 是jar启动产生的日志目录和jar包是同级,可以自定义名称和目录
nohup java -jar wx.jar > a.log &
如果你测试时间发现时间错误,请看这篇文章:https://blog.csdn.net/weixin_45853881/article/details/126890153
这里为了直观的看到被访问了就使用前台运行,不然还要麻烦看日志
1. 3.1启动内网穿透
授予natapp运行权限
chmod +x natapp
1.3.1.1直接启动
./natapp -authtoken=xxx
然后就会在前台显示映射的外网地址
1.3.1.2后台启动
可是有些人说,直接在前台运行,我想弄点别的代码怎么办,我又不是电脑,不方便
去natapp官网看:https://natapp.cn/article/config_ini
添加配置文件
vi config.ini
把下面的内容弄上去,别忘了写
authtoken
#将本文件放置于natapp同级目录 程序将读取 [default] 段
#在命令行参数模式如 natapp -authtoken=xxx 等相同参数将会覆盖掉此配置
#命令行参数 -config= 可以指定任意config.ini文件
[default]
authtoken= #对应一条隧道的authtoken
clienttoken= #对应客户端的clienttoken,将会忽略authtoken,若无请留空,
log=none #log 日志文件,可指定本地文件, none=不做记录,stdout=直接屏幕输出 ,默认为none
loglevel=ERROR #日志等级 DEBUG, INFO, WARNING, ERROR 默认为 DEBUG
http_proxy= #代理设置 如 http://10.123.10.10:3128 非代理上网用户请务必留空
后台启动
nohup ./natapp &
这个时候又有问题了,确实是在后台启动了,可是我找不到映射的网址咋办
快说怎么弄不然我胖虎揍你
修改
config.ini
文件
vi config.ini
修改后的内容如下:
将log日志文件修改为stdout
日志等级修改为INFO
authtoken
写上官网给自己的
#将本文件放置于natapp同级目录 程序将读取 [default] 段
#在命令行参数模式如 natapp -authtoken=xxx 等相同参数将会覆盖掉此配置
#命令行参数 -config= 可以指定任意config.ini文件
[default]
authtoken= #自己的隧道的authtoken ==>对应一条隧道的authtoken
clienttoken= #对应客户端的clienttoken,将会忽略authtoken,若无请留空,
log=stdout #log 日志文件,可指定本地文件, none=不做记录,stdout=直接屏幕输出 ,默认为none
loglevel=INFO #日志等级 DEBUG, INFO, WARNING, ERROR 默认为 DEBUG
http_proxy= #代理设置 如 http://10.123.10.10:3128 非代理上网用户请务必留空
启动
nohup ./natapp &
查询映射地址
cat nohup.out
这个就是映射地址
查看正在运行的
natapp
ps -ef |grep natapp
杀死natapp进程
kill -9 xxx
,xxx为查找对应的端口号
kill -9 18433
如果觉得麻烦也可以写一个启动脚本
vi natapp-start.sh
按
i
进入编辑模式,输入下面的代码,然后按exc
,在输入:wq
#启动natapp
echo "natapp running..."
nohup ./natapp &
添加权限
chmod +x natapp-start.sh
启动
./natapp-start.sh
查询映射网址和之前的一样
cat nohup.out
想要远程使用ssh配置和这个一样,最近没时间了,过几天再写,可以直接用下面的app弄
2.花生壳
2.1配置项目端口
现在咱不用linux命令了,咱开始下载app
花生壳下载网址:https://hsk.oray.com/download/
手机游览器和电脑显示的不大一样,不过问题不大
总共两个软件,最好都下载下来
花生壳管理App:用于添加,编辑,管理接口
花生壳内网版App:也叫花生壳内网版,主要用于启动花生壳管理App添加开启的端口。
外网地址和管理版的访问地址是一个,内网主机就是要自己要映射的ip:端口号,手机的ip就找wifi然后连接的wifi在找详情就可以找到ip或者找->设->关于手机->状态信息->IP地址,手机每次连接wifi都会有一个随机ip,可以给他弄成固定的,方法自行百度
然后机会出现映射诊断,这样就是失败的
因为每次重连wifi手机都会换一个ip所以才会连接失败,从花生壳管理app进行修改之后,把花生壳内网版软件退出后台重新进入然后再进行一便检查就可以了(退出软件在重新进入是为了更新加载刚才配置的数据)
2.2配置ssh端口
再手机上配置项也是一样的,就是界面不一样
这里的访问地址给的是tcp://xxx:xxx
==>tcp://地址:端口号
这个tcp://
就是高速我们这里用的是tcp连接和http://
,https://
差不多意思(应该是这样的)
电脑或者使用别的平台进行远程连接的时候,内网穿透的只需要用到地址
和端口号
花生壳管理app必须要添加端口,然后必须要开启,也就是那个绿色的开关,电脑配置也可以,之后这个管理app就可以关了,然后打开花生壳内网app查看是否连接,这个内网app必须一直打开(后台运行),才能保证一直连接
六.设置开机自启
看这里===>>https://blog.csdn.net/weixin_45853881/article/details/126930875
七.搭建数据库
看这里====>> https://blog.csdn.net/weixin_45853881/article/details/126940611
八.Termux的备份和恢复
看这里====>> https://blog.csdn.net/weixin_45853881/article/details/127427339
超过限制,我穷,买不起套餐。文章来源:https://www.toymoban.com/news/detail-498942.html
我这里有配置好的cetos系统,直接俄恢复就可以进行使用
已经上传到csdn,免费的,需要的话直接下载就行,如果下载不了可以私聊获取https://download.csdn.net/download/weixin_45853881/86795325
文章来源地址https://www.toymoban.com/news/detail-498942.html
到了这里,关于手机搭建服务器教程,本人亲测无需root的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!