使用树莓派打造一个私人NAS+博客(1)——网络篇

使用树莓派打造一个私人NAS+博客(1)——网络篇,第1张

title: 树莓派NAS_网络篇

date: 2021-01-26 10:35:00

tags:

- 树莓派

- NAS

- 网络

blog_home: http://wwwsmcbaqtop:8081/

我的计划是使用树莓派搭建一个 个人博客+NAS 的组合,一开始使用的是 树莓派3b+ ,已经做到了搭建基于 hexo 的个人博客,但是之前因为条件原因在电源,接线等问题上做出了各种妥协,最后导致有一定的问题,这次我重新使用 树莓派4b 部署一次,并且记录下这次的搭建过程留个记录,如果有人发现了这个系列文章,有兴趣可以试试,毕竟我也不知道这个可能能有多少人看。

在这个系列文章中,有的步骤可能按照别人的文章博客可以直接完成没有什么坑点,我就不再赘述了,直接使用链接,重点是中间可能涉及的坑点。

电脑一台、路由器一台(我使用安装了改版梅林的网件R6300U)、树莓派一个(带电源,我使用4b)、网线一根(可选,我使用支持千兆的超五类线)

家庭组网重点是把路由器搞好就成了,我们这一步的目标就是让树莓派可以内网访问,我家网络是如下结构:

很简单的结构,简单来讲就是主路由管客厅,从路由管房间,由于主路由性能更加优良树莓派计划接到主路由上,而我大部分时间是在房间里面连接从路由的WiFi,所以需要注意主从路由不能打开 AP隔离 ,不然电脑不能访问到路由,其他的默认就行了,路由器尤其是主路由推荐使用 dhcp模式 ,要想验证很简单,手机连接主路由,电脑连接从路由,电脑手机能互相ping通即可,安卓手机ping电脑使用APP: termux 。

树莓派安装好系统打开ssh连接即可,我使用的是 Raspberry Pi OS(Raspbian) 的desktop版,没有安装推荐软件的版本,具体开启方式是在boot盘符下添加一个名为 ssh 的文件即可,不要任何后缀。

安装树莓派系统可以学习这个 教程

然后将树莓派接好电源,插好网线连接到主路由的 LAN口 ,等待一段时间,在路由器管理界面找到树莓派分配到的 IP (设备名通常为 pi 或者 raspberrypi ),电脑ssh连接树莓派成功即可,树莓派初始用户名为 pi ,默认密码为 raspberry ,记得使用 passwd 和 sudo passwd root 来分别修改 pi 用户和 root 用户的密码。

如果没有网线,则先提前给树莓派 设置好WLAN连接 ,然后找IP连ssh都一样了,但是不建议这样做,具体原因后面的文章中 软件篇 会提到,当然如果到时候看了则另说。

公网访问其实并不是一个硬需求,可以通过 frp 来做内网穿透,但是这就需要一个额外的服务器,这就有点有违初心了,毕竟我本来搞这个的目的之一就是为了多出一个服务器嘛。

公网访问重点就是要有公网IP,有的运营商会直接给一个公网IP,比如我在学校的电信寝室宽带,但是绝大多数都不会给,所以需要提前判断一下,主要有两个方法:

如果没有公网IP,那么打自己家宽带提供商的电话叫客服开通一下,一般来说都是包含在了宽带服务中的,如果问起来你要干什么用可以说自己家里要弄监控需要公网IP随时查看,一般很快就开通了,免去扯皮的功夫。

虽然说拿到了公网IP但是一般来说运营商提供的都是动态IP,之后外网访问的时候会比较麻烦(路由器一般会提供远程查看软件,可以看到IP,但是经常都得换IP访问这根本方便嘛),所以我们需要使用动态域名解析——DDNS,这样就可以使用域名直接访问了

首先是梅林自带的华硕家的免费DDNS,由于我的网件刷魔改梅林的版本有BUG,DDNS经常会自己断掉,就得手动操作路由器打开,由于过于频繁大概2-3天一次所以我最后选择放弃,但是实测华硕AC68U的官方梅林不会出现这个BUG。

最后我的选择是阿里云的DDNS,魔改梅林的优势在这里就体现出来了,可以直接安装插件,设置好以下 标记 内容即可。

购买域名有一系列的实名制操作,如果已经有这个需求了请耐心完成

最后我购买的是一个比较便宜的域名,个人博客正在使用的就是这个域名 http://wwwsmcbaqtop:8081

这个很好理解,因为内网的设备不能直接访问,所以我们需要设置路由器做一个端口转发来映射设备,梅林固件在以下 标记 中设置通信端口和本地端口即可

通信端口是外网设备连接时访问的端口,本地端口是本地设备(这里是树莓派)开启的服务占用的端口,前者随便设,后者需要注意配置,例如:

我希望访问8081端口来访问我的博客,那么通信端口设置8081,这个博客服务运行在树莓派的8080端口上,那么本地端口设置为8080,本地IP是树莓派的IP,通信协议使用TCP。

添加后保存即可。

ps:这里面的操作我完成得比较早,教程是写文临时找的,可能在你的电脑上有点坑,记得仔细操作不要看见命令盲目 ctrl+c/v 。

如果从路由功能比较齐全,可以打开 AP模式 的话,则可以使用两个同名WiFi在家里无缝切换相当方便。

可以给树莓派设置一个固定分配的内网IP地址,虽然一般不会变动但是一旦变动了会比较麻烦。

ssh连接可以将电脑的公钥交给树莓派实现 免密ssh登录 ,具体教程 在这里 , windows生成公钥 教程是 这个 。

电脑可以使用vs-code安装Remote-SSH插件来方便文件操作,具体使用自行查找,挺简单的。

以下是单个文件的,不确定你的文件夹是什么意思,可以压缩下再上传(方法一样,调用zip命令)

我的实现方法:调用终端的curl,以下为代码平片段,实现的功能是上传log文件到服务器,供参考:

def post_log(self, post_url, del_source_file=True):

        '''

        post log to log server

        '''

        if selflog_path:

            command = "curl -s -F log=@{0} {1}"format(selflog_path, post_url)

            return_str = ospopen(command)read()

            loggingdebug(return_str)

            # print return_str

            if return_str == "success":

                if del_source_file:

                    del_command = "sudo rm {0}"format(selflog_path)

                    ossystem(del_command)

                return True

            else:

                return False

        return False

我会,但是这其中涉及的东西太多了,不是在这种地方能够一言两语说清楚的。而且情况也比较多,无法一一列举,更无法提供准确的图文教程。所以建议你去学习一下,加强自我,自己动手丰衣足食。

要达到你的目的需要的知识有:

1、Linux基础(会点皮毛就行,自学无压力)

2、Ngrok使用方法(其实自己会搭建并使用FRP更好)

3、搭建站点基础(不是让你写代码,是让你使用现成程序(PHP)搭成一个可以访问的网站)

就行了

当然,如果你不愿意学习,自己动手的话用钞票也是定然能解决的,这东西挺简单。集成的一些软件也是有的(比如花生壳,但是免费版带宽只有1M,约128kb/s左右还要实名还要买他的域名),下载速度和其他的一些什么奇怪的东西就需要你用钞票解决了。

树莓派使用的人较多。

树莓派有两个串口:

1硬件串口(/dev/ttyAMA0):有单独的波特率时钟源,性能高、可靠;

2mini串口(/dev/ttyS0):性能低,功能简单,没有专用时钟源而是由CPU内核时钟提供,波特率会受内核时钟的影响。

由于板载蓝牙模块,因此硬件串口默认分配与蓝牙模块通信,而mini串口默认分配给GPIO。如果我们想与外接串口模块进行通信,需要修改串口映射。而且GPIO引出的串口默认是用来做控制台使用的,因此还需禁用控制台功能。

最近在Android手机上利用LinuxDeploy搭建了一个LEMP/LNMP网站,本文讲述其中的主要流程和注意事项。有一些坑,也有点小窍门,还有一些测试数据,拿手机做其它框架的网站或其它用途的服务器也可参考。

可行性及方案

先评估下性能。在手机上装了个Linux,用sysbench测试下CPU,以PC和树莓派作为对比。

sysbench--test=cpu--cpu-max-prime=20000run

结果是耗时,越短越好。

PC:i74770K:212s

华为荣耀6plus:247s

树莓派3代:535s

树莓派2代:1150s

虽然比PC差远了,但比树莓派快不少(多核应该更强)。其实我的网站以前是跑在树莓派2代上的。树莓派的I/O(SD卡)也是很慢的。

至于方案,理论上来说有这么几类:

APK提供http服务器、MySQL服务器、PHP的支持。——功能受限于APK,不能使用标准的工具集。

用类似于busybox的方式,把Linux下的命令集和需要的服务器都编译到Android上。——累。

双系统,既可以引导Linux,也可以引导Android。——树莓派可以,以前用过RK3188的Android电视盒也可以,理论上手机也可以做到,就看有哪几个手机厂商愿意提供这种支持了。所以,可遇不可求。

模拟器:APK是Linux的模拟器。——慢。

Linux和Android共用内核,使用chroot容器的方式。——这几乎是最完美的方案了,既不破坏Android,又有一个几乎完整的Linux。LinuxDeploy就是这方面的杰出代表。1/6分步阅读

手机网站的建设,有花钱的也有免费的,当然毕竟是工业,手机端才刚刚被接受,做个免费的试试效果吧,首先我们需要搜索一下,找个靠谱的网站,会有不错的效果

多看几个网站,找个规模大的,信誉好的网站,选在需要的版本,打开之后会有很多模板可以进行选择,有标准版的,炫彩版的,行业的还有购物型的,看看自己属于哪个就用哪个

我们是做工业的,今天就用工业的版本和大家说说,选择之后右边会以手机的样式显示出来,可以直接看到生成后的效果,这样子就省的我们做好之后觉得不好再取消了

选择的版本里面,很多东西是需要我们添加的,包括名称啊,大图啊,还有下面很多按钮,和小的,都需要我们重新设计,不要怕麻烦,一点点的弄,看着自己弄的网站你会有成就感的

每个可以更换的及按钮旁边呢都会有个编辑、样式选择、我们在这里直接选择编辑就可以了,进入到编辑页面,它会提示你需要用多大的才可以正常显示,我们按照要求调整我们拍摄的照片就可以了

按照编辑框的提示,一个一个的修改,有的小按钮是需要带连接的,我们直接把网址输入就可以了,做好之后,我们需要点击保存,不然就会消失的,保存好之后有个预览,我们可以用手机扫一下,就可以直接在手机上看到效果了建站步骤?第一步,确定自己的网站类型?第二步,做网站程序(网络上好多,自己修改一下就行)?第三步,购买域名空间(也有免费的,但是不稳定)?第四步,把域名解析到空间?第五步,把程序上传?第六步,调试?第七步,维护备案域名

简单说就是内网中的一台计算机具有自己的内部IP,外网的计算机具有公共的IP,而内部IP是无法直接通过外网来访问的,这就需要一种方式来将外网的IP转化为内部的合法IP来进行合法访问。

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。

VPS(Virtual Private Server 虚拟专用服务器)技术,将一台 服务器 分割成多个虚拟专享服务器的优质服务。实现VPS的技术分为容器技术,和 虚拟化技术 。在容器或虚拟机中,每个VPS都可分配独立公网IP地址、独立操作系统、实现不同VPS间磁盘空间、内存、CPU资源、进程和系统配置的隔离,为用户和应用程序模拟出“独占”使用计算资源的体验。VPS可以像独立服务器一样,重装操作系统,安装程序,单独重启服务器。VPS为使用者提供了管理配置的自由,可用于企业虚拟化,也可以用于IDC资源租用。

公网服务器与FRP构成一个桥梁我们通过它将可以访问我们放置在内网的树莓派服务器

VirMach 它是一家非常便宜的支持Linux VPS和Windows VPS 美国主机商

购买链接(也可以选择其他家)

买好以后

会收到3个邮件

最上面的邮件里面就是你的IP还有账号密码

点击我的服务

然后点击下方按键

进入到服务器后台

打开PUTTY输入你的ip(公众号发送putty即可获得该软件)

输入账户root还有初始密码(邮件里面有)

首次登录到服务器终端

修改登录密码

直接输入

输入两遍,新密码即可。

利用FXP(公众号发送“fxp”即可获得该软件”)把下好的frp安装包上传到服务器(公众号发送“frp”即可获得。

如果你的VPS和本教程的不一样可以再下面网址选择适合你VPS的FRP

登陆FXP用的是你的服务器IP以及你刚才修改的密码

文件解压后,一般都含有frps(frp服务端运行文件)、frpc(frp客户端运行文件)、frpsini(frp服务端配置文件)、frpcini(frp客户端配置文件),以及frp_fullini(frp全部配置文件解释说明和参考。)

在服务器终端输入以下指令

在 frpsini 中输入:

[common]部分是必须有的配置

其中bind_port是自己设定的frp服务端端口

dashboard_port_number 改为一个特定的端口号,如8000,如此便可以通过 http://yourip:8000 来访问 frps 的网页控制台页面

dashboard_user 和 dashboard_pwd要填写一个自定义的用户名和密码,用于在访问 frps 控制台页面时输入

保存上面的配置后,使用以下指令启动frp服务端。

在浏览器输入“IP:7500”可以看到你的FRP的后台

树莓派正常登陆putty,输入以下指令

写入下面内容

注意

这里是用VNC举例子,你也可以做域名的映射

输入下面指令运行

成功

我们开始用VNC来测试一下是否成功

可以用你的手机的VNC或者是电脑的VNC进行登陆测试(不要和树莓派连接在同一网络)

还可以在我们刚才的FRP后台看一看端口的情况

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 使用树莓派打造一个私人NAS+博客(1)——网络篇

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情