• 安卓Termux搭建web服务器【公网远程手机Android服务器】


    概述

    Termux是一个Android终端仿真应用程序,用于在 Android 手机上搭建一个完整的Linux 环境,能够实现Linux下的许多基本操作,不需要root权限Termux就可以正常运行。

    Apache是一个开源网页服务器软件,由于其跨平台和安全性,被广泛使用,是最流行的 Web 服务器软件之一。我们可以在Android手机上使用Termux来搭建Web服务器,同时做内网穿透,实现公网用户也可以访问,将Android变成小型的云服务器。

    下面介绍在安卓Termux上搭建apache服务创建个人站点并且结合cpolar内网穿透工具实现公网访问。

    1.搭建apache

    执行命令安装apache,安装相对简单,一键安装即可

    pkg install apache2
    
    • 1

    然后启动apache

    apachectl start
    
    • 1

    启动的时候如出现以下问题

    image-20230510150038202

    解决方法,修改配置文件,如果没有安装vim,执行命令安装一下

    pkg install vim
    
    • 1

    编辑修改配置文件

    vim $PREFIX/etc/apache2/httpd.conf
    
    • 1

    找到ServerName解开注释,www.example.com改为127.0.0.1:8080,端口号可以自己改成自己喜欢的

    image-20230510151133736

    修改后再次启动,即可

    image-20230510151344686

    打开浏览器,输入http://127.0.0.1:8080,即可看到apahe欢迎页面,

    image-20230510151540948

    停止apache

    apachectl stop
    
    • 1

    重启apache

    apachectl restart
    
    • 1

    2.安装cpolar内网穿透

    cpolar官网:https://www.cpolar.com

    成功创建了运行站点的一个apache容器后,我们接下来用cpolar做内网穿透来实现公网环境下的访问。

    cpolar它是一个安全的内网穿透云服务,支持http/https/tcp协议,可以永久免费使用还不限制流量,支持映射80/443端口。它可以通过创建安全隧道,将本地服务暴露到公网上,让公网用户也可以正常访问内网服务,不需要公网IP,也不用设置路由器。

    创建一个sources.list.d的文件夹:

    mkdir -p $PREFIX/etc/apt/sources.list.d
    
    • 1

    添加cpolar下载源文件

    echo "deb [trusted=yes] http://termux.cpolar.com termux extras" >> $PREFIX/etc/apt/sources.list.d/cpolar.list
    
    • 1

    更新仓库

    pkg update
    
    • 1

    安装cpolar

    pkg install cpolar
    
    • 1

    安装termux服务

    注意:安装完成后记得关闭重启一下termux 才生效!!

    pkg install termux-services
    
    • 1

    重启完termux后,然后启动cpolar

    sv up cpolar
    
    • 1

    设置开机自启

    sv-enable cpolar
    
    • 1

    这个是停止cpola服务

    sv down cpolar
    
    • 1

    cpolar.yml主配置文件路径位置

    $PREFIX/etc/cpolar/cpolar.yml
    
    • 1

    然后在手机浏览器我们输入http://localhost:9200即可看到cpolar管理界面,使用在cpolar官网注册的邮箱账号即可登陆

    image-20230509155942139

    3.公网访问配置

    手机浏览器打开cpolar web ui管理界面,我们点击左侧仪表盘的隧道管理——创建隧道,由于apache上面我们修改配置文件是8080端口(文章是8080,具体端口号以自己的端口为准),因此我们要来创建一条http隧道,指向8080端口:

    • 隧道名称:可自定义,注意不要重复
    • 协议:http
    • 本地地址:8080
    • 域名类型:选择随机域名
    • 地区:选择China VIP

    点击创建

    image-20230510153916787

    创建成功后打开在线隧道列表,可以看到公网访问的地址,有两种访问方式,一种是http,一种是https

    image-20230510155122769

    我们使用http方式,在浏览器输入公网地址,即可访问成功

    image-20230510163512036

    4.固定公网地址

    由于上面创建的是免费随机隧道,所生成的公网地址会在24小时内随机变化,为了方便长久稳定连接,我们可以固定这个公网地址,配置一个cpolar固定的二级子域名【无需备案】,或者也可以配置使用你自己的域名来访问,这里我们以配置固定的二级子域名来举例。

    需升级至基础套餐或以上才支持配置二级子域名

    登录cpolar官网后台,点击左侧仪表盘的预留,找到保留二级子域名,为http隧道保留一个二级子域名。

    • 地区:选择服务器地区
    • 名称:填写您想要保留的二级子域名(可自定义)
    • 描述:即备注,可自定义填写

    image-20230510171738839

    本例保留一个名称为mywebsitetest的二级子域名。子域名保留成功后,我们将子域名复制下来,接下来需要将其配置到隧道中去。

    image-20230510171806128

    登录cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到需要配置二级子域名的隧道,点击右侧的编辑

    image-20230510171929758

    修改隧道信息,将二级子域名配置到隧道中:

    • 域名类型:改为选择二级子域名
    • Sub Domain:填写我们刚刚所保留的二级子域名(本例为mywebsitetest

    修改完成后,点击更新

    image-20230510172124742

    隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到隧道的公网地址,已经更新为二级子域名了.

    image-20230510172216408

    固定后我们使用固定的公网地址,在浏览器中打开,即可看到apache默认页面,这样一个固定的公网地址访问就设置好了

    image-20230510172352811

    5.添加站点

    上面我们访问的页面是apache默认页面,不是我们希望的页面,我们可以把自己喜欢的页面放上去,进入apache htdocs文件夹

    cd $PREFIX/share/apache2/default-site/htdocs
    
    • 1

    安装下载工具wget

    pkg install wget
    
    • 1

    这里做演示,我们下载一个测试站点

    wget https://www.cpolar.com/static/downloads/meditation-app-master.tar.gz
    
    • 1

    下载好后解压

    tar xzf meditation-app-master.tar.gz
    
    • 1

    然后我们在浏览器上面输入上面我们的公网地址加上资源路径/meditation-app-master/index.html,就可看到我们的个人站点啦。

    现在只要保持隧道为正常在线状态,公网用户就可以通过这个固定公网地址来访问到我们在termux上搭建的web站点。

    image-20230510182040632

  • 相关阅读:
    java基础、底层实现、面试
    弹性布局
    MVSNet depthfusion配置流程
    PostgreSQL设置主键为自增
    制造业企业如何高效进行生产计划排单?
    关于最新版本Burp Suite可以在哪个基本类别中找到控制其更新行为的“更新”子类别
    Hadoop 集群搭建
    fastFFI 官宣开源,一款高效的 Java 跨语言通信框架
    Java注解最全详解(超级详细)
    信维通信投资者关系活动:揭示5G创新实践,展望未来发展
  • 原文地址:https://blog.csdn.net/Tiam_cr/article/details/130972236