本文最后更新于 2024-10-16,文章内容距离上一次更新已经过去了很久啦,可能已经过时了,请谨慎参考喵。

title: 安卓手机搭建简易WEB服务器
tags:
  - Android
  - Nginx
  - Termux
categories:
  - Linux
top_img: false
cover: '/upload/cdn0files/20200721082840.jpg'
abbrlink: 69085f9e
date: 2020-01-14 17:40:55
updated: 2020-01-14 17:40:55

利用闲置安卓手机搭建本地测试环境或者低性能外网服务器

优缺点

首先我们要了解安卓手机的优势,有以下几点:

  • 低功耗,全天24小时不间断开机也费不了多少电
  • 稳定,很少因为意外宕机,就算宕机也能很快排查重启
  • 性能高,一台四核多线程的云服务器的租金可是天价阿,但是一台四核甚至八核的手机就很便宜了吧(手动滑稽)
  • 自带屏幕,方便操作,随身携带,超常待机,不怕突然断电
  • 流量便宜

当然缺点也是非常之明显的:

  • 需要额外安装大量环境,偶尔容器不稳定
  • 如果需要更高级的操作就需要获取root权限,而当今社会root比登天都难, 如果你是VIVO那么还是少折腾,当个闹钟还是很不错的!
  • 最重要的就是需要做内网穿透,当然如果你是在局域网内玩玩就当我没说嘻嘻

准备工作

  • 安卓手机一台(最好最好是root过的,就完美了)
  • Termux终端
  • 注册ngrok.cc并开通隧道
  • 下载ngrok客户端(php/python任选其一就可)

安装Termux

termux可以去官网下载,百度一下就可以:https://github.com/termux/termux-app

安装之后就是这样的界面:

termux

更换bash:

输入which bash 输出结果如果是/usr/bin/bash 结尾的那么就可以跳过这一步了,当然如果你喜欢其他比如zshash 的话可自行更换

输入chsh -s bash 即可,如果报错呢就执行pkg install bash 安装以一下就好了

编辑PS1

先安装最基本的VIM编辑器:pkg install vim 执行完毕即可

输入:

$ vim ../usr/etc/bash.bashrc

因为每个人手机的目录不尽相同,所以使用相对路径,所以保证此时工作目录在~/ 下,如果没有,请执行一次cd回车

然后修改如下:

bash.bashrc文件

修改为个人喜好即可,但是为了方便,建议加上\w\u 选项,前者能显示当前工作目录路径,后者显示当先用户,编辑完之后执行:wq保存退出。

安装nginx服务器

先执行一下更新:

$ apt update && apt upgrade

安装:

$ pkg install nginx

nginx

启动服务器

输入nginx 回车启动服务器

检查服务器状态

输入pkg install termux-tools 安装termux工具,安装完成之后执行ifconfig 查看本机IP或者可以去路由器管理界面查看ip

查看

也因该能看到localhost是127.0.0.1

在手机浏览器地址栏输入127.0.0.1或者在与手机在同一局域网内的电脑上就可以看到如下:

nginx

如果127.0.0.1报错的话那么就是本机端口被改,试试127.0.0.1:8080,如果还报错,请检查nginx服务器的状态,重启试试

到这里,局域网内的服务器已经搭建完成,如何让不在此wifi下的其他小伙伴访问我们的服务器呢?这个时候就需要内网穿透了。

注册隧道

内网穿透一般都是通过公网服务器对内网ip进行映射,可自行选择服务商,这里以www.ngrok.cc为例。

首先需要注册账号,然后购买隧道,选用免费的即可,当然土豪请随意。

隧道的映射端口一定要填写本机的服务器端口,我的就是127.0.0.1:8080

开通好隧道之后来到隧道管理就会有一个隧道id和赠送域名,这个记下来,等会要用。

隧道id

安装环境

Sunny-Ngork客户端下载:https://www.ngrok.cc/download.html

下载客户端

有php和python版本,根据自己喜好选择,两个安装方法一模一样,下面以php版本为例:

安装php

执行:

$ pkg install php

完毕后执行php -v 查看php版本

安装php

注意到了php (7.3.10-1),python同理

使用Sunny-Norgk

解压下载好的客户端,是一个sunny.php的可执行文件

执行:

$ php sunny.php

如果报错没有权限,执行chmod +x sunny.php 即可

sunny

执行完毕之后输入刚才获得的隧道id,等待链接服务器,链接成功之后就可以在公网输入获得的赠送域名就可以访问到本地的nginx了。

便宜没好货,免费的服务器链接很慢,多链接几遍就会成功的。