概述

如题,我们今天主要讲利用网云穿官方提供的内网穿透功能来外网访问树莓派上的网站,以及通过 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

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

# 使用wgetwget 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 都很费劲。

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

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

内网和外网的区别_无需服务器,树莓派使用内网穿透进行建站与维护相关推荐

  1. mysql内连接和外连接的区别_内连接、外连接的区别

    先来看一下,内连接的语法: SELECT  XXX FROM XXX INNER JOIN XXX ON XXX; 这里 INNER 可以省略,在上一篇博客中我们对于笛卡尔积现象的研究中(http:/ ...

  2. mysql内连接和外连接的区别_数据库左连接、右连接、内连接、全连接区别

    基本定义: left join (左连接):返回包括左表中的所有记录和右表中连接字段相等的记录. right join (右连接):返回包括右表中的所有记录和左表中连接字段相等的记录. inner j ...

  3. 数据库中内连接与外连接的区别

    内连接与外连接的区别 自连接 一个表与它自身进行连接,数据均在一张表中. 内连接 是多表联查的另一种书写形式,可以匹配出两张表中符合查询条件的数据,其中包含等值连接.非等值连接.自然连接. 等值连接 ...

  4. 网和aoe网的区别_欧哲门窗的金刚网和其他品牌的有什么区别?

    金刚网一体窗的优势: 1.安全防护:拒绝不安全因素,防止破坏或鼠.蛇.蝇.蚊等动物的入侵. 2 预防高空坠物:不会因为门窗的开启,而使居室中的老人或玩耍的孩子处于不安全状态中. 3 易于开启便于逃生: ...

  5. c语言外循环和内循环区别是什么意思,内循环和外循环的区别 内循环和外循环的正确使用方法...

    过完五一,天气要慢慢热起来了,汽车空调使用的季节又要来了,但是很多车主对汽车空调的内外循环使用还是有点傻傻分不清,今天汽车维修网小编就和大家简单的说一下内循环和外循环的 内循环和外循环标志 内循环和外 ...

  6. 内连接、外连接的区别及作用

    1.基本介绍 不管是内连接.外连接还是带where子句的多表查询,都组合自多个表,并生成结果表. 1.内连接:只返回两个表中连接字段相等的行.inner join(等值连接) 只返回两个表中联结字段相 ...

  7. 球幕投影中内投球和外投球的区别

    随着互动投影技术在各类展厅中的普及,人们经常会看到有一种球形的互动投影表现形式.在听讲解员介绍时,有的展厅内别人会介绍这个是内投球,还有的展厅内有时会介绍是外投球.究竟内投球和外投球的区别是什么呢,左 ...

  8. MySQL连接查询 内连接和外连接的区别

    MySQL 连接查询 @ sunRainAmazing 1.使用连接查询的场景 将多张表进行记录的连接查询(按照某个字段指定的条件进行数据的拼接):进行数据的拼接(两张表的内容显示在一个结果表中 使用 ...

  9. 服务器运维用macos,MacOS和Linux区别_网站服务器运行维护,linux,macos

    MacOS catalina升级后Vmware黑屏的问题解决_网站服务器运行维护 macOS Catalina是苹果macOS全新版本.本文就来为大家介绍一下MacOS catalina升级后Vmwa ...

最新文章

  1. shiro多realm验证之——shiro实现不同身份使用不同Realm进行验证(转)
  2. 《C语言及程序设计》实践项目——结构体应用
  3. 笔记:2016-06-02
  4. CentOS升级Python2.7及安装pip
  5. c语言中- gt he,C语言中deta,fabs,lt;stdlib.hgt;,lt;stdio.hgt;分别是什么意思
  6. 计数排序和桶排序 java代码实现
  7. hadoop 回收站Trash
  8. Java、SQL 十年混战史:Oracle 告 Google、“窃”IBM 往事
  9. C++11 继承构造函数与委托构造函数
  10. 计算机cmd复制粘贴指令,win7系统使用CMD命令复制和删除文件夹的方法
  11. 字节码指令之对象的创建与访问指令
  12. Python urllib HTTP头注入漏洞
  13. 10.计蒜客ACM题库.A1007 作弊揭发者
  14. PHP获取客户端IP函数
  15. 计算机无法连接路由器上网,电脑连接路由器不能上网怎么办
  16. gulp+webpack工具整合简介
  17. 在Oracle官网下载并安装JDK然后配置环境变量
  18. 一种结合基于股债利差的A股估值百分位、有限价值策略定投和股债组合投资的创新型低回撤高收益稳健理财方法
  19. 「YGG Japan」宣布已完成约 295 万美元的新股权私募
  20. 机器人(ROS)理实融合课程设计与开展

热门文章

  1. 1、MySQL为什么需要事务?
  2. requests库之IP归属地查询
  3. html实战例子: 简易的qq登录界面
  4. 【PAT乙级】1008 数组元素循环右移问题 (20 分)
  5. 1.2.3 计算机系统的层次结构
  6. Keepalived简介
  7. Outlook邮箱重新配置
  8. 老板,用float存储金额为什么要扣我工资
  9. 使用 IntelliJ IDEA 查看类图,内容极度舒适
  10. MySQL的又一神器-锁,MySQL面试必备