利用树莓派4搭建私有云盘

news/2024/5/19 0:11:52 标签: 硬件, raspberry pi

树莓派做成云盘的优点

1.不再放在抽屉里吃灰
2.树莓派4有千兆网卡,3.0的usb接口
3.树莓派4处理性能加强,最高内存也升级到8G
4.耗电较小,噪音基本忽略

在这里插入图片描述
刚买的4gb的

虽然有免费的百度云等一系列云盘,但是网速堪忧,搭建这个项目纯属与个人的娱乐(我们的宗旨是——也许用不着,但必须会)。在这里插入图片描述

一、前提:

1.安装好树莓派系统并更新源与系统、安装可视化远程工具
参考:https://blog.csdn.net/your_elephant/article/details/50831837

2.一键部署好linux宝塔面板
命令:sudo wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && bash install.sh

3.安装好宝塔浏览器登入ip:8888会提醒安装LAMP跟LNMP,选则LAMP,这里可以选择各个版本(看后面注意事项)。

在这里插入图片描述

4.LAMP环境安装完毕

这里我选择使用的开源云盘是可道云,有免费版的,而且还挺好用的。当然开源的云盘不止这一种,如果有更好的可以择优选择。这里可道云在面板里有一键部署的功能。

运行宝塔一键部署源码功能,部署可道云KodExplorer

在这里插入图片描述

域名就写自己的ip:端口号,mysql数据库名跟密码,再提交
在这里插入图片描述

5.局域网主机浏览器输入树莓派ip:端口号,跳出可道云界面,第一次记得设置的admin账户密码。

在这里插入图片描述

前面几步操作非常容易,但是难免会出错的时候,如我运行时安装LAMP环境时,A、M、P老安装不上,报错非常多,最后无奈重装系统才能以解决,重新安装完系统后立马更新源与系统再部署linux宝塔面板,最后安装成功环境。

二、技术与思路重点:

1.思路:

其实没有宝塔面板也可以安装LAMP,但是手动部署安装起来花费的时间就很难说了。这不是技术上的问题,因为后面还扯上运维一系列的问题。虽然是傻瓜式的一键部署,但我们能省时间就省时间吧。毕竟光安装MySQL数据库还要手动建立、设置账户密码等,而且最重要一点,手动安装的服务在Linux宝塔面板中是不显示的,这不利后期维护、操作、监控等。

在这里插入图片描述

2.挂载移动磁盘

在上面云盘其实就算安装完成,但树莓的存储是有限的,虽然我的有64G,放点文档什么的没问题,但要放大文件则显得不够了,我百度云盘的学习资料、手机的相册、收集的音乐电影、工具等有500个G,如果要转移这时候我们就需要挂载外置硬盘。当然这也可以选择,有多余的硬盘或U盘最好。
在这里插入图片描述

我是建议将可道云搭建在内置系统储存卡里,而将要储蓄的数据放在外置储存移动硬盘最好,毕竟数据第一,因为我们的服务器可没磁盘阵列数据恢复啥的,如果发生意外开不了机等等,在系统的数据可就完了。在这我是有心酸的血泪史,因为之前就是因为将网站跟目录与存储目录同时放在移动硬盘里,结果不知什么原因,发现一重启,不仅网站没了,操作系统也跟着遭殃了,无奈重装重头再来,而且重装了好几次,使得自己浪费了许多时间。

挂载硬盘参考:
https://blog.csdn.net/kaikaiaizuqiu/article/details/78734865
注意:
1.权限问题:按照过别的方法,挂载上了,却没有读写权限,试了许多方法,最后安装上面方法用root用户创建文件夹,挂载加上参数 mount -o rw 就行了。
2.最可怕的是提过的开机系统崩溃,这是最无奈的,查明是磁盘挂载不成功导致,要防止我的悲剧发生,挂载方法同时也参照:
https://zhuanlan.zhihu.com/p/93646636

重点是编辑自动挂载的命令
/dev/sda1 /home/pi/seagate ntfs-3g defaults,nofail,noexec,umask=0000 0 0

在这里插入图片描述

3.将云盘通过隧道部署到外网

		当做完以上操作后网盘基本就没什么问题了,在同一个局域网下,所有主机包括手	机都可以在浏览器输入ip地址加端口号访问云盘。但这远远不够,我们应该将云盘能在外网也能访问,毕竟这样才最有意义。
		
		关于将服务发布到外网原理不再过于解释,我直接记录过程

		我用的的隧道代理平台:https://www.ngrok.cc/login.html
		(这样的代理平台有很多的,如果自己有跟好的,优先选择。)

		注册好登入,在隧道管理开通一条隧道,

在这里插入图片描述

我建议买先买一个月的,就10 元,虽然下面有免费的,但是网速太慢了,这对云盘下载不利的。

开通隧道成功后,要编辑

在这里插入图片描述

本地端口就写127.0.0.1加上在宝塔面板中设置的端口,http验证用户密码可有可无。
到这时候,我们再去看隧道教程
在这里插入图片描述
在这里插入图片描述

这里清楚的告诉我们怎么在客户端运行,先下载对应版本的客户端到树莓派内,再按照要求运行。

在这里插入图片描述

如何判断是否成功转发到外网,运行成功后会给你的连接地址,复制到浏览器的,如果显示出云盘登入就成功了。这时候在任何地方都可以访问自己的云盘了。

在这里插入图片描述

这里值得注意:如果关掉运行的终端,则服务也一定会断掉,虽然教程里也有解决方法,但我试了多次并未成功,好在树莓派安装了可视化远程,用Windows远程过去再终端运行,关掉远程服务也不会断。

使用一个月后的总结:
1.机械的移动硬盘是一大硬伤,因为是要额外的usb供电,虽然充足但有时候在使用、上传下载时会供电不足导致挂载没了,又得手动挂载上(好在云盘系统不是安装在移动硬盘上的),也怀疑过是树莓派的漏洞,因为之前树莓派官方发布了消息,有的板子存在第三方充电器供电接口问题。
2.树莓派处理的性能自然有限,看宝塔面板的监控就知道,不过个人服务就足够,多人同时在线还未尝试。
3.可道云免费版还是可以的,毕竟个人使用,但不知道是搭建在树莓派上还是其他的原因,bug还是有的,比如在桌面打开的我的文件最小化,文件筐就起不来了。


http://www.niftyadmin.cn/n/1817358.html

相关文章

FileProvider使用

前言 Android 7.0,提供了非常多的变化,不过必须要适配的就是去除项目中传递 file:// 类似格式的 Uri 了 对于面向 Android 7.0 的应用,Android 框架执行的 StrictMode API 政策禁止在应用外部公开 file:// URI , 如果一项包含文…

最小的k个数字

剑指 Offer 40. 最小的k个数 - 力扣(LeetCode) (leetcode-cn.com) 两种解法,一个利用最大堆,一个利用快速排序,都不难理解。 目录 利用堆 利用快速排序 利用堆 代码: #define top 0 #define NOP 0 c…

Android8.0安装apk报错:Package xxx is currently frozen

问题出现 App版本更新时,使用Android 8.0的手机会出现问题:安装包下载完成之后,屏幕闪了一下并没有跳转到安装界面,使用8.0以下的手机并没有这个问题,查看异常信息,发现如下警告 java.lang.SecurityExcept…

数据流的第K大数值

剑指 Offer II 059. 数据流的第 K 大数值 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) #define MIN 0x80000000 class KthLargest {int* minHeap;int K; public:KthLargest(int k, vector<int>& nums) {K k;minHeap new int[k 1];int size nums.s…

【达内课程】自定义控件(走势图)

控件选择顺序&#xff1a;原生&#xff0c;开源&#xff0c;自定义控件 今天做一个类似于股票走势图的控件&#xff0c;效果图&#xff1a; 首先先了解下自定义控件的执行流程 新建CustomView CustomView //继承View或View的子类&#xff0c;就是自定义控件 public class …

【达内课程】自定义控件(字幕移动)

创建CustomSurfaceView public class CustomSurfaceView extends SurfaceView {int viewWidth,viewHeight;//管理surfaceviewSurfaceHolder surfaceHolder;public CustomSurfaceView(Context context, AttributeSet attrs) {super(context, attrs);surfaceHolder getHolder()…

【达内课程】自定义控件(下拉刷新)

这一节要实现的效果是下拉刷新 首先需要一个布局头部listview_header <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:tools"http://schemas.android.com/tools"android:layout_width"match_parent"andro…

Android 性能优化—— 启动优化

应用启动速度 一个应用App的启动速度能够影响用户的首次体验&#xff0c;启动速度较慢(感官上)的应用可能导致用户再次开启App的意图下降&#xff0c;或者卸载放弃该应用程序 本文将从两个方向优化应用的启动速度 : 视觉体验优化代码逻辑优化 视觉优化 应用程序启动有三种…