安卓手机变服务器:完整搭建网络服务器教程

在这个模块中,我们将了解如何在安卓设备上托管一个网络服务器,并使用ngrok进行端口转发,以便在移动中拥有灵活的网络服务器。

在安卓上托管网络服务器的步骤

现在让我们直接进入在安卓设备上托管网络服务器的步骤。

安装Termux和Hacker键盘

首先,在我们继续之前,我们将需要两个应用程序:Termux(它将帮助我们发出命令)和Hacker键盘(它将帮助我们使用通常在标准安卓键盘上不可用的Ctrl、Esc、Alt等键)。

你可以从它们的官方网站或者Google Play商店下载Termux。

您可以安装Hacker键盘,以便在Termux窗口内进行更好的导航。

2. 在Termux上安装软件包

现在我们需要在Termux上安装一些我们需要的软件包。打开应用并输入以下命令:

$ pkg update && pkg upgrade

这应该升级我们目前的系统。接下来,我们将需要使用以下命令安装一些必要的软件包:

$ pkg install apache2 git neovim wget curl

3. 通过SSH连接到安卓设备

请注意,此部分完全可选。在这里,我们将安装一些额外的软件包,以帮助我们在整个过程中进行操作。

$ pkg install openssh neofetch fish nmap

首先,让我们启用SSH,这样我们就可以通过电脑连接到手机。

$ sshd

接下来,用ifconfig检查您的用户名和IP。

$ whoami

u0_a147

$ ifconfig wlan0

wlan0: flags=4163 mtu 1500

inet 192.168.0.105 netmask 255.255.255.0 broadcast 192.168.0.255

inet6 fe80::ce9f:7aff:fe81:3115 prefixlen 64 scopeid 0x20

unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

txqueuelen 3000 (UNSPEC)

RX packets 227165 bytes 311846650 (297.4 MiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 82264 bytes 7912862 (7.5 MiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

现在我们需要检查SSH服务运行在哪个端口。你可以使用以下方法进行检查:

$ nmap -sV 127.0.0.1

Starting Nmap 7.91 ( https://nmap.org ) at 2021-03-12 14:44 IST

Nmap scan report for localhost (127.0.0.1)

Host is up (0.0075s latency).

Not shown: 999 closed ports

PORT STATE SERVICE VERSION

8022/tcp open ssh OpenSSH 8.4 (protocol 2.0)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .

Nmap done: 1 IP address (1 host up) scanned in 4.87 seconds

一旦您获得了端口号,请切换到您的个人电脑并使用以下方式连接到您的设备:

$ ssh -p @

例如,对我来说,完整的命令将是:

$ ssh -p 8022 u0_a147@192.168.0.105

下一步更改默认的Shell为:

$ chsh /data/data/com.termux/files/usr/bin/fish

此时,您可以从您的个人电脑终端向您的设备发出命令。

在安卓上启动网络服务器

现在,我们可以使用以下命令启动服务器:

$ apachectl

默认情况下,网页托管在8080端口上。在浏览器上访问该端口,我们会看到以下信息:

要编辑消息,我们需要用vi编辑器更改index.html文件。

$ vi $PREFIX/share/apache2/default-site/htdocs/index.html

让我们把index.html的内容改为:

Android !

刷新页面后,我们应该能够看到我们所做的更改被反映出来。

在这一点上,你可以定制你的页面,使其呈现任何你想要的外观/功能。然而,为了进一步扩展我们的功能,我们可以使用ngrok来启用端口转发!

5. 使用Ngrok进行端口转发

首先,我们需要从官方网站获取压缩文件:

$ wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-arm64.tgz

使用以下方法解压缩文件:

$ tar -xvzf ngrok-stable-linux-arm64.tgz

接下来,你需要在他们的网站上注册并获取授权令牌。

现在,你应该获取一个授权令牌。要将令牌添加到默认的配置文件中,请输入:

$ ./ngrok authtoken <认证令牌>

现在,我们应该可以访问更多的功能和更长的会话。最后,仍然运行着我们的网页服务器,输入:

$ ./ngrok http 8080

我们获得了一个ngrok链接,通过这个链接我们可以找到我们网站的主页。

现在,我们可以使用ngrok链接从我们的本地网络以外访问我们的服务器了!

结论

因此,以这种方式,我们可以将我们的Android手机用作Web服务器。在非Root的手机上,您可以在任何较高的端口上托管Web服务器,而在Root的手机上,您可以使用默认端口80。


电信宽带+路由器上不了网?可能是这几个原因
SublimeText不同版本下载渠道及兼容性说明