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

简介: 【公网远程手机Android服务器】安卓Termux搭建Web服务器

概述

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

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

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

1.搭建apache

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

<span style="color:#444444"><span style="background-color:#ffffff"><span style="background-color:#272822"><span style="color:#f8f8f2"><code class="language-shell">pkg <span style="color:#e6db74">install</span> apache2
</code></span></span></span></span>

然后启动apache

<span style="color:#444444"><span style="background-color:#ffffff"><span style="background-color:#272822"><span style="color:#f8f8f2"><code class="language-shell">apachectl start
</code></span></span></span></span>

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

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

<span style="color:#444444"><span style="background-color:#ffffff"><span style="background-color:#272822"><span style="color:#f8f8f2"><code class="language-shell">pkg <span style="color:#e6db74">install</span> <span style="color:#e6db74">vim</span>
</code></span></span></span></span>

编辑修改配置文件

<span style="color:#444444"><span style="background-color:#ffffff"><span style="background-color:#272822"><span style="color:#f8f8f2"><code class="language-shell"><span style="color:#e6db74">vim</span> <span style="color:#f8f8f2">$PREFIX</span>/etc/apache2/httpd.conf
</code></span></span></span></span>

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

修改后再次启动,即可

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

停止apache

<span style="color:#444444"><span style="background-color:#ffffff"><span style="background-color:#272822"><span style="color:#f8f8f2"><code class="language-shell">apachectl stop
</code></span></span></span></span>

重启apache

<span style="color:#444444"><span style="background-color:#ffffff"><span style="background-color:#272822"><span style="color:#f8f8f2"><code class="language-shell">apachectl restart
</code></span></span></span></span>

2.安装cpolar内网穿透

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

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

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

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

<span style="color:#444444"><span style="background-color:#ffffff"><span style="background-color:#272822"><span style="color:#f8f8f2"><code class="language-shell"><span style="color:#e6db74">mkdir</span> -p <span style="color:#f8f8f2">$PREFIX</span>/etc/apt/sources.list.d
</code></span></span></span></span>

添加cpolar下载源文件

<span style="color:#444444"><span style="background-color:#ffffff"><span style="background-color:#272822"><span style="color:#f8f8f2"><code class="language-shell"><span style="color:#e6db74">echo</span> <span style="color:#a6e22e">"deb [trusted=yes] http://termux.cpolar.com termux extras"</span> <span style="color:#f8f8f2">>></span> <span style="color:#f8f8f2">$PREFIX</span>/etc/apt/sources.list.d/cpolar.list
</code></span></span></span></span>

更新仓库

<span style="color:#444444"><span style="background-color:#ffffff"><span style="background-color:#272822"><span style="color:#f8f8f2"><code class="language-shell">pkg update
</code></span></span></span></span>

安装cpolar

<span style="color:#444444"><span style="background-color:#ffffff"><span style="background-color:#272822"><span style="color:#f8f8f2"><code class="language-shell">pkg <span style="color:#e6db74">install</span> cpolar
</code></span></span></span></span>

安装termux服务

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

<span style="color:#444444"><span style="background-color:#ffffff"><span style="background-color:#272822"><span style="color:#f8f8f2"><code class="language-shell">pkg <span style="color:#e6db74">install</span> termux-services
</code></span></span></span></span>

重启完termux后,然后启动cpolar

<span style="color:#444444"><span style="background-color:#ffffff"><span style="background-color:#272822"><span style="color:#f8f8f2"><code class="language-shell">sv up cpolar
</code></span></span></span></span>

设置开机自启

<span style="color:#444444"><span style="background-color:#ffffff"><span style="background-color:#272822"><span style="color:#f8f8f2"><code class="language-shell">sv-enable cpolar
</code></span></span></span></span>

这个是停止cpola服务

<span style="color:#444444"><span style="background-color:#ffffff"><span style="background-color:#272822"><span style="color:#f8f8f2"><code class="language-shell">sv down cpolar
</code></span></span></span></span>

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

<span style="color:#444444"><span style="background-color:#ffffff"><span style="background-color:#272822"><span style="color:#f8f8f2"><code class="language-shell"><span style="color:#f8f8f2">$PREFIX</span>/etc/cpolar/cpolar.yml
</code></span></span></span></span>

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

3.公网访问配置

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

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

点击创建

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

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

4.固定公网地址

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

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

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

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

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

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

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

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

修改完成后,点击更新

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

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

5.添加站点

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

<span style="color:#444444"><span style="background-color:#ffffff"><span style="background-color:#272822"><span style="color:#f8f8f2"><code class="language-shell"><span style="color:#e6db74">cd</span> <span style="color:#f8f8f2">$PREFIX</span>/share/apache2/default-site/htdocs
</code></span></span></span></span>

安装下载工具wget

<span style="color:#444444"><span style="background-color:#ffffff"><span style="background-color:#272822"><span style="color:#f8f8f2"><code class="language-shell">pkg <span style="color:#e6db74">install</span> <span style="color:#e6db74">wget</span>
</code></span></span></span></span>

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

<span style="color:#444444"><span style="background-color:#ffffff"><span style="background-color:#272822"><span style="color:#f8f8f2"><code class="language-shell"><span style="color:#e6db74">wget</span> https://www.cpolar.com/static/downloads/meditation-app-master.tar.gz
</code></span></span></span></span>

下载好后解压

<span style="color:#444444"><span style="background-color:#ffffff"><span style="background-color:#272822"><span style="color:#f8f8f2"><code class="language-shell"><span style="color:#e6db74">tar</span> xzf meditation-app-master.tar.gz
</code></span></span></span></span>

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

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

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
1月前
|
存储 资源调度 应用服务中间件
浅谈本地开发好的 Web 应用部署到 ABAP 应用服务器上的几种方式
浅谈本地开发好的 Web 应用部署到 ABAP 应用服务器上的几种方式
27 0
|
2月前
|
数据可视化 Shell Linux
shell+crontab+gitlab实现ecs服务器文件的web展示
本文通过把ecs服务器上的文件定时上传至gitlab,实现文件的页面可视化和修改历史。技术点:shell、crontab、gitlab。
51 3
|
20天前
|
监控 API Android开发
构建高效安卓应用:探究Android 12中的新特性与性能优化
【4月更文挑战第8天】 在本文中,我们将深入探讨Android 12版本引入的几项关键技术及其对安卓应用性能提升的影响。不同于通常的功能介绍,我们专注于实际应用场景下的性能调优实践,以及开发者如何利用这些新特性来提高应用的响应速度和用户体验。文章将通过分析内存管理、应用启动时间、以及新的API等方面,为读者提供具体的技术实现路径和代码示例。
|
1月前
|
安全 搜索推荐 前端开发
如何在本地安装Flask并将其web界面发布到公网上远程访问协同开发
如何在本地安装Flask并将其web界面发布到公网上远程访问协同开发
|
1月前
|
应用服务中间件 Apache nginx
web后端-web服务器对比
web后端-web服务器对比
|
1月前
|
网络协议 关系型数据库 MySQL
安卓手机termux上安装MariaDB数据库并实现公网环境下的远程连接
安卓手机termux上安装MariaDB数据库并实现公网环境下的远程连接
|
1月前
|
存储 PHP 数据库
使用Net2FTP轻松打造免费的Web文件管理器并公网远程访问
使用Net2FTP轻松打造免费的Web文件管理器并公网远程访问
|
1月前
|
Ubuntu 网络协议 Java
在Android平板上使用code-server公网远程Ubuntu服务器编程
在Android平板上使用code-server公网远程Ubuntu服务器编程
|
2月前
|
安全 网络安全 开发者
如何在OpenWRT部署uhttpd搭建服务器实现远程访问本地web站点
如何在OpenWRT部署uhttpd搭建服务器实现远程访问本地web站点
123 0
|
2月前
|
存储 缓存 网络协议
Go语言并发编程实战:构建高性能Web服务器
【2月更文挑战第6天】本文将通过构建一个高性能的Web服务器实战案例,深入探讨如何在Go语言中运用并发编程技术。我们将利用goroutine和channel实现高效的请求处理、资源管理和并发控制,以提升Web服务器的性能和稳定性。通过这一实战,你将更好地理解和掌握Go语言在并发编程方面的优势和应用。