网云穿年末活动:
【网云穿】小众软件特供专属福利,限时发放1.2折特价终身高速隧道,仅有100个名额;一次付费,永久使用,无流量限制;
活动详情戳:http://xiaomy.net/h5
树莓派内网穿透建站与维护

概述
如题,我们今天主要讲利用网云穿官方提供的内网穿透功能来外网访问树莓派上的网站,以及通过 ssh 进行远程管理。
树莓派
树莓派是基于博通出品的 arm 架构处理器的微型电脑,价格低廉,目前最新版本为 4B,笔者使用的是 3B+,当时是二百元左右。
3B + 版本的配置如下:
- 主频 1.4GHz,64 位 4 核的 ARM Cortex-A53 CPU
- 1GB LPDDR2 内存
- 2.4GHz 和 5GHz IEEE802.11.b/g/n/ac 无线网卡,蓝牙 4.2
- 4 个 USB2.0
- HDMI
这配置跑一个静态网站是绰绰有余了,毕竟阿里云便宜的也就 1 核 1G 而已(主频会稍高一些)。
建站
nginx
树莓派官方提供了基于 Debian 的 Raspberry Pi OS,所以安装软件与大家熟悉的 Ubuntu 一样,首先安装 nginx 作为 web server:
sudo apt install nginx
安装完启动:
# 启动nginx,没有输出就表示启动成功了
sudo nginx
# 也可以主动查看进程
ps -ef | grep nginx
查看进程输出类似如下效果:

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

如果需要访问自己的网站文件,改一下 nginx 的配置文件就可以了。
网云穿内网穿透
网站已经有了,接下来就是配置内网穿透进行外网访问。
在网云穿官网注册账号 – 领取免费隧道,然后跳转控制台点击隧道管理、配置隧道信息;穿透协议设置为 Http (s)。内网端口就是上面安装的 nginx 的端口,默认是 80,可以通过修改配置文件做调整,在这里配置好即可。


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

复制好链接地址,执行如下命令:
# 使用 wget
wget https://down.xiaomy.net/linux/wyc_linux_arm && chmod a+rwx wyc_linux_arm
# 使用curl,二选一即可
curl -O https://down.xiaomy.net/linux/wyc_linux_arm && chmod a+rwx wyc_linux_arm
执行完成后网云穿的客户端就安装好了,接下来启动软件,执行如下命令:
./wyc_linux_arm -token 上面记录的令牌
可以看到如下输出:

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

就是这么简单,树莓派里面的网站就可以供外网访问了。
运维
网站运行起来就完事了吗?当然不是,后续可能还需要面临网站更新、软件更新、服务重启等事务,这些事情只能通过远程管理来操作,也就是这部分要讲的内容:通过 ssh 进行树莓派的运维管理。
其实在建站的过程中我们已经在树莓派上安装了些软件,这个过程就是 ssh 连接的操作,而现在要做的就是 ssh 访问外网地址来连接树莓派。
同样还是先开通隧道,这次配置穿透协议为 tcp,内网端口为 sshd 的端口,默认是 22 号,当然也可以通过配置文件进行修改,保持一致就行。

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

并且再次启动一个网云穿客户端,使用刚刚记录的口令,这次会生成一个带有端口的外网地址。
./wyc_linux_arm -token 上面记录的令牌
最后可以在其他机器上通过下面的命令连接树莓派:
ssh -p 外网端口 pi@域名
这就实现了对树莓派进行远程管理。
总结
通过网云穿开通了两条隧道,即实现了外网访问的网站,也实现了远程管理。
你可能会问,这么做有必要吗?还不如买一个云服务器呢!
我个人认为建站最大的成本在于云服务器,个人网站使用的 1 核 1G 外加 1Mbps 带宽通常够了。以阿里云为例,价格每年 500 左右。而这个配置的服务器我之前启动个 hadoop 都很费劲。

而内网穿透明显便宜很多,我们可以根据网站的情况选用更高的带宽。并且可以绑定自己的域名,服务器也不需要备案,外人看来和云服务器没有区别。
最后,非常感谢网云穿提供的免费方案。
网云穿年末活动:
【网云穿】小众软件特供专属福利,限时发放1.2折特价终身高速隧道,仅有100个名额;一次付费,永久使用,无流量限制;
活动详情戳:http://xiaomy.net/h5
免费的 ngrok 不香吗?
不备案分分钟拔网线,不建站搞个IPv6公网不香嘛。
在旧手机上建站。。性能杠杠的。。。。
内网穿透方面。。感觉体验好的不便宜。。。便宜的。。体验都不咋地。。。特别现在审查越来越严了,域名不备案感觉啥都做不了
他们家服务器工作在特殊端口,而不是80 443 8080。
所以,对我所在公司没用。
樱花frp咋样,安全吗?有人了解吗
frp 看这里: https://www.appinn.com/frp/
免备案的话还行,需要备案就算了,frp也很香
DDNS访问你得有公网IP才行,内网穿透解决的就是没有公网IP的情况啊
网云穿也有免费版 收费免费完全看个人需求o
我现在是联通的宽带,有外网ip,只是不给80端口。我估计很多人都是这种情况。实际上,这种情况没必要用穿透,做个跳转就好可,可以完全利用宽带的上行带宽,只不过就是跨网速度慢一点。