安卓手机使用Termux搭建web服务器(含frp内网穿透、wake on lan远程唤醒)

前言

想做一台可以外网访问局域网的服务器,没有群晖或者软路由,正好有一台闲置的nova4,查阅了一些资料后就在手机上搭了一个服务器,有闲心的可以试一试。。。

目录

​​​​​

一、环境准备

二、使用步骤

1.安装Termux

2.1.1 用上面提供的链接下载,目前最新的是0.117

2.1.2更换清华源:

2.1.3安装ssh

2.1.4设置用户密码,也是ssh连接密码

2.1.5 使用电脑连接ssh,因为手机上操作感觉还是有点困难(推荐mobaxterm,也可以用xshell)

2.安装proot-distrot及ubuntu

3.本地搭建项目

4.frp内网穿透

4.1 frps服务端

4.2 frpc 客户端

5.自启动应用

总结

一、环境准备

  1. 一部安卓手机,无需root
  2. Termux(目前官网上的最新包仅支持安卓7.0以上,其他版本自测) termux官网下载
  3. frpc内网穿透(因为没有公网ip,如果有的话可以使用路由器映射的方式)
  4. 腾讯云服务器一台(某宝上几十块钱有一年的,本人就是那上面买的,6m带宽,1000G流量,目前够用,如果有公网ip可省略这步)

二、使用步骤

1.安装Termux

2.1.1 用上面提供的链接下载,目前最新的是0.117

安卓手机使用Termux搭建web服务器(含frp内网穿透、wake on lan远程唤醒)

2.1.2更换清华源:

sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.list
sed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.list
sed -i 's@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@' $PREFIX/etc/apt/sources.list.d/science.list
apt update

2.1.3安装ssh

pkg install openssh

2.1.4设置用户密码,也是ssh连接密码

sshd
ifconfig

安卓手机使用Termux搭建web服务器(含frp内网穿透、wake on lan远程唤醒)

2.1.5 使用电脑连接ssh,因为手机上操作感觉还是有点困难(推荐mobaxterm,也可以用xshell)

打开mobaxterm,点击session

remote host 输入刚刚查看到的地址,其他照着下面图片填,虽然填写的是root用户,但是其实是没有root权限的,因为手机本身没root,在实际开发过程中有很多指令是要linux的超级管理员权限的,所以要在里面安装一个ubuntu,然后就可以在ubuntu里面使用任意权限,继续往下走~

安卓手机使用Termux搭建web服务器(含frp内网穿透、wake on lan远程唤醒)

2.安装proot-distrot及ubuntu

apt install proot-distro

接下来安装ubuntu,

proot-distro install ubuntu

安卓手机使用Termux搭建web服务器(含frp内网穿透、wake on lan远程唤醒)

安卓手机使用Termux搭建web服务器(含frp内网穿透、wake on lan远程唤醒)

然后就可以使用命令进入ubuntu了

proot-distro login ubuntu

安卓手机使用Termux搭建web服务器(含frp内网穿透、wake on lan远程唤醒)

在里面同样安装之前安装的必要工具

apt update
apt install vim python3 openssh-server -y

安卓手机使用Termux搭建web服务器(含frp内网穿透、wake on lan远程唤醒)

这里需要配置一下ssh的配置,主要是端口,用于区分外部的ssh

vim /etc/ssh/sshd_config

安卓手机使用Termux搭建web服务器(含frp内网穿透、wake on lan远程唤醒)

Port 前面的#去掉,然后22改成除了8022、22之外的任意端口 如223

再加入一行 PermitRootLogin yes

改完之后如下:

安卓手机使用Termux搭建web服务器(含frp内网穿透、wake on lan远程唤醒)

最后按esc 输入:wq 回车即可

回到bash页面后 输入 service ssh start

安卓手机使用Termux搭建web服务器(含frp内网穿透、wake on lan远程唤醒)

TIPS: 这里开启ssh的目的是为了方便使用shell远程,在完成步骤5之后连接ubuntu系统可以直接使用223端口连接,就不需要连接外部的8022端口了

3.本地搭建项目

下面我用一个测试项目来简易搭建一个web服务器,测试远程开机,这里测试与安卓手机在同一局域网下的windows电脑,在win上获取到网卡的mac地址,记下这个地址,后面需要使用到。

1、ubuntu上安装一个远程开机的包

apt install wakeonlan

2、写一个测试项目,vim test.py,这里试用了flask,很轻松就可以搭起一个web服务器,简单调用了一下唤醒指令,觉得麻烦的可以直接啥都不写,return一个hello world,

安卓手机使用Termux搭建web服务器(含frp内网穿透、wake on lan远程唤醒)

3、pip安装flask

pip install flask

4、python test.py 就可以启动项目了

这里说一下远程开机,被远程开机的电脑主板bios要开启网卡唤醒,然后同一局域网内发送一个封包到关机电脑的mac地址上,电脑网卡接收到这个封包就会开机,当然这里只是用于测试,具体的可以参考一下网络上的资料,wake on lan 唤醒

安卓手机使用Termux搭建web服务器(含frp内网穿透、wake on lan远程唤醒)

至此,基础环境安装完毕,接下来就是frp内网穿透

4.frp内网穿透

上面完成了局域网内环境的搭建,但是外网还不能访问及远程控制开机,我们需要一个公网服务器,运营商有提供公网ip的话可以在路由器设置虚拟服务器(有的是叫端口映射),然后直接跳到第5步,下面是没有公网IP,用手机搭建的的局域网服务器内网穿透到外网的步骤。

工具准备frp github下载

安卓手机使用Termux搭建web服务器(含frp内网穿透、wake on lan远程唤醒)

4.1 frps服务端

在云服务器上下载服务器版本后解压,配置frps.ini

[common]
bind_port = 7000

然后运行

nohup "绝对路径"/frps -c "绝对路径"/frps.ini > /dev/null 2>1 &

在防火墙添加一个7000的tcp端口,服务端就配置好了

4.2 frpc 客户端

下载对应的版本然后解压,配置frpc.ini

[common]
server_addr = 公网服务器ip地址
server_port = 7000

[wake_on_lan] #用于测试,实际可根据自己情况配置
type = tcp
local_ip = 127.0.0.1
local_port = 8999 #本地项目地址
remote_port = 58999 #映射到公网服务器的地址,用于外网访问,也可以是80,前提是公网服务器的80端口未被占用

然后启动

nohup "绝对路径"/frpc -c "绝对路径"/frpc.ini > /dev/null 2>1 &

现在就可以使用你的公网服务器的ip来访问你的项目了(1xx.xxx.xxx.xxx:5899?mac=f0:xx:…),别忘了公网服务器的防火墙里面要开启对应的端口(7000,8999),当然还可以买个域名做个dns解析,使用xxx.cn:58999?mac=f0:xx:xx…就能访问。

5.自启动应用

如果上述服务不小心被关了或者手机重启了,那么就要重新敲指令去启动,相当麻烦,所以可以加入用户登录自启(这里没用系统自启是因为尝试了几种方案没成功,你们可以自己尝试一下,因为他这个虽然是ubuntu,但是跟装在硬件上的linux系统还是有区别的,有兴趣的可以研究一下)。

Original: https://blog.csdn.net/zzj19941115/article/details/121060935
Author: 折腾怪O3
Title: 安卓手机使用Termux搭建web服务器(含frp内网穿透、wake on lan远程唤醒)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/745516/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球