登录后台

页面导航

树莓派内网穿透建站与维护

pi

概述

如题,我们今天主要讲利用网云穿官方提供的内网穿透功能来外网访问树莓派上的网站,以及通过ssh进行远程管理。

树莓派

树莓派是基于博通出品的arm架构处理器的微型电脑,价格低廉,目前最新版本为4B,笔者使用的是3B+,当时是二百元左右。

3B+版本的配置如下:

  1. 主频1.4GHz,64位4核的ARM Cortex-A53 CPU
  2. 1GB LPDDR2内存
  3. 2.4GHz和5GHz IEEE802.11.b/g/n/ac 无线网卡,蓝牙4.2
  4. 4个USB2.0
  5. HDMI

这配置跑一个静态网站是绰绰有余了,毕竟阿里云便宜的也就1核1G而已(主频会稍高一些)。

建站

nginx

树莓派官方提供了基于Debian的Raspberry Pi OS,所以安装软件与大家熟悉的Ubuntu一样,首先安装nginx作为web server:

sudo apt install nginx

安装完启动:

# 启动nginx,没有输出就表示启动成功了
sudo nginx

# 也可以主动查看进程
ps -ef | grep nginx

查看进程输出类似如下效果:

nginx

默认nginx是有配置文件直接生效的,可以通过浏览器访问树莓派的局域网ip,例如我的是192.168.199.175,能看到这个页面,就表示web server已经正常提供服务。

浏览器

如果需要访问自己的网站文件,改一下nginx的配置文件就可以了。

网云穿内网穿透

网站已经有了,接下来就是配置内网穿透进行外网访问。

网云穿官网购买隧道并将穿透协议设置为Http(s)。内网端口就是上面安装的nginx的端口,默认是80,可以通过修改配置文件做调整,在这里配置好即可

image-20200802160920441

确定之后控制台会生成令牌,复制下来。

image-20200802161617631

接着安装网云穿客户端,上面说了树莓派是arm架构处理器,所以要下载arm版本的网云穿软件,登录控制台很明显的可以看到:

arm

复制好链接地址,执行如下命令:

# 使用wget
wget http://xiaomy.net/download/linux/wyc_linux_arm && chmod a+rwx wyc_linux_arm

# 使用curl,二选一即可
curl -O http://xiaomy.net/download/linux/wyc_linux_arm && chmod a+rwx wyc_linux_arm

执行完成后网云穿的客户端就安装好了,接下来启动软件,执行如下命令:

./wyc_linux_arm -token 上面记录的令牌

可以看到如下输出:

image-20200802161927244

外网地址也有了,直接在浏览器访问外网域名:

image-20200802164648416

就是这么简单,树莓派里面的网站就可以供外网访问了。

运维

网站运行起来就完事了吗?当然不是,后续可能还需要面临网站更新、软件更新、服务重启等事务,这些事情只能通过远程管理来操作,也就是这部分要讲的内容:通过ssh进行树莓派的运维管理

其实在建站的过程中我们已经在树莓派上安装了些软件,这个过程就是ssh连接的操作,而现在要做的就是ssh访问外网地址来连接树莓派

同样还是先开通隧道,这次配置穿透协议为tcp,内网端口为sshd的端口,默认是22号,当然也可以通过配置文件进行修改,保持一致就行

image-20200802180254686

确定之后,会生成如下信息,记录下外网端口、域名和令牌:

image-20200802165049924

并且再次启动一个网云穿客户端,使用刚刚记录的口令,这次会生成一个带有端口的外网地址。

./wyc_linux_arm -token 上面记录的令牌

最后可以在其他机器上通过下面的命令连接树莓派:

ssh -p 外网端口 pi@域名

这就实现了对树莓派进行远程管理。

总结

通过网云穿开通了两条隧道,即实现了外网访问的网站,也实现了远程管理。

你可能会问,这么做有必要吗?还不如买一个云服务器呢!

我个人认为建站最大的成本在于云服务器,个人网站使用的1核1G外加1Mbps带宽通常够了。以阿里云为例,价格每年500左右。而这个配置的服务器我之前启动个hadoop都很费劲。

image-20200802171642110

而内网穿透明显便宜很多,我们可以根据网站的情况选用更高的带宽。并且可以绑定自己的域名,服务器也不需要备案,外人看来和云服务器没有区别。

image-20200802171803166

当然这么比较明显是不公平的,因为选用内网穿透的方案需要我们自己提供电脑、电费和精力。综合起来成本可能差不多,但是理论上电脑的性能就由我们自己控制,可玩性大得多,生命不就在于折腾吗?

最后,非常感谢网云穿提供的免费方案。

我的邀请码:935mb0

(完)