p.s. 无需ROOT
早在还在读初中时期,就曾用手机搭建过web服务器,时过境迁,却依旧贫穷,真是“不忘初心”。
网上看过很多‘所谓’垃圾佬用二手mini主板搭建web服务器,但是咸鱼淘宝仔细搜来,核算起来竟要100块大洋。
“太贵了,太贵了。”望着项目造价清单,我也只能扼腕叹息。
这些洋物件,显然不是我等贫民所能染指之物。
有没有什么可以不必花钱,又能用上服务器的方案呢?忽的忆起当年用安卓仿真linux系统来搭服务器。
可惜当时年少,不知留下文案的重要性,如今却要从头再来,悔之晚矣,如今留下这篇文档也算是亡羊补牢了。
步骤一:安装Termux
在github上下载termux并安装。
步骤二:
无需root,就可以在任意安卓手机上都跑linux (baidu.com)
这里感谢这位大佬的文章,关于系统安装部分,大佬已经写的很清楚了,这里就不胡扯了。
值得一说的是,在作者的第四步骤中,我选择的是ubuntu。
步骤三:
安装ssh服务器并配置。
sudo apt install ssh
这一步大家应该都清楚。
但是装完的ssh服务器并不能直接
sudo service ssh start
启动,暂时不清楚是什么原因(有可能是被占用后冲突了)。启动后会报一个ok但是连不上。
我们需要先配置ssh服务器的端口。
vim /etc/ssh/sshd_config
将端口
# Port 22
# 改成
Port 2233
然后重新
sudo service ssh restart
ip a #查看下你的ip地址
这时就可以用ssh连接了,注意端口是2233。
p.s. 用winscp传文件时,会遇到问题,将登录设置时默认的sftp文件协议改成scp就可以了。
步骤四:
安装nginx,并配置。
一开始我是用的apache,但是安装失败了,遂转向更加简单轻量的nginx。
sudo apt install nginx
sudo service nginx start
直接启动是不成的,因为手机原生应用已经将80端口占领。
这时候我们要修改配置文件将80端口改成其他。
vim /etc/nginx
推荐按我的方式修改。
第 22、23 行,将端口号修改为4004。
第 24 行,将字符集设置为utf-8(这会避免一些乱码问题)
第 42 行设置web文件的目录(这个大家应该能看得出来)
以下三行的显示图例
第 53 行,autoindex on;开启目录浏览功能
第 54 行,autoindex_exact_size off;用MB,GB等单位显示而不是字节。
第 55 行,autoindex_localtime on;开启以服务器本地时区显示文件修改日期。
修改完之后运行
sudo service nginx restart
弄完之后我们先输入ip地址检测一下能不能上网。就像我上图一样输入IP地址和端口进行访问。
如果不行的话可以自行查询 /var/log/nginx/error.log 日志文件解决问题。
步骤五:
安装一个frp软件,这里我推荐sakurafrp,下面写简要教程。
Sakura Frp | 樱花内网穿透 — 免费内网穿透_免费端口映射_高速_高防节点_不限流量_Minecraft我的世界_微信开发调试_群辉NAS_无需公网_免备案
首先在该网站注册一个账号,然后在
下载之后会获得一个连接,(不要点复制链接那个wget下载不了)
我们右键下载的文件后复制下载连接,然后在终端里
wget https://nyat-static.globalslb.net/natfrp/client/0.45.0-sakura-5.2/frpc_linux_arm64
# 该链接在你看到的时候可能会过时了,请在官网下载最新版
点击创建两个隧道,远程端口可以随意生成。本地端口一个2233(给ssh)一个4004(给web服务器),和之前的设定的一样。
注意两个隧道都是tcp的,其中ssh的无所谓,但是html的隧道一定要是香港或者国外的(国外ip有可能是被q的),不然要备案(可恶,以前是不需要的啊)。
输入
sudo ./frpc_linux_arm64
运行frpc软件。
你会发现让你输入token,这个时候进入这儿复制粘贴进去,回车进入。
回车选中这两个,把它们变成绿色的,然后按crtl+c键即可运行。
现在用其给出的方案试试吧!
ssh服务器没问题。
而web也可以用外网访问啦!
注意要点:
设置wifi,将在睡眠状态下保持wlan连接,设置为始终。
将termux的应用自动管理改成手动。
每个人的手机都不一样,你要自己找一找,不然就只能让屏幕一直亮着,否则安卓可能会多管闲事的将termux进程kill掉,就很烦了。