长文多图警告!如果你的流量不够用,请切完wifi再看。

自从树莓派4代出了以后,将它作为家用服务器的想法也就逐渐变成了现实,毕竟性能上比前面几代有了极大的提升、千兆网口、大内存。我在前面多篇内容中片段式的分享了它的内容,现在应该稍微的整合一下了。

对于我来说,有着这样的需求:

一个能7*24小时不断为我进行离线下载(进行种子、直链、磁力链、百度网盘下载),并且具备储存功能,同时也要实现多平台文件共享、文件同步,也要容易扩展,而且还得帮我完成图像处理、视频转码、视频编辑、模型渲染,并且能作为家庭影院、图书馆,也要成为一个电子相册,要尽可能的省钱、省电、噪声小或者说没有噪声。这些需求的前提是不占用我的个人电脑资源来进行。

这些需求已经不仅仅是家用储存那么简单了,而是一台服务器,总体来说是市面上的服务器价格感觉还是挺高的,即使你能找到一些便宜的服务器,它的能耗方面或者是扩展方面已经不能满足我的需求了,最主要的是对于琳琅满目的服务器我们选择时经常无所适从。但是树莓派就不一样了,它总共就那么几代,性能上肯定是越新越好,不用思考直接上最新的4B版本。

先来看看我正在工作的树莓派,它正在不眠不休的为我下载资源,处理视频。

工作中的树莓派
被我拔掉风扇,工作中的树莓派
下载速度感人的百度网盘
下载速度感人的百度网盘
开源软件处理视频
用开源软件处理视频

看完本文(录制的视频emmmm,以后再说)你将拥有一台属于自己的低功耗服务器。

本文目录
 
 
 

好了,那我们就一点点开始吧,就先从硬件说起吧。

一、硬件

说是硬件,其实也包括一些需要用到的工具

  • 1个树莓派4b:是我们的主c,一切其他硬件都要为它准备。
  • 1个树莓派3b+(非必须):其实就是一个扩展,可以作为游戏中心或者媒体中心又或者装上openwrt做软路由
  • 1~2张32G的SD卡(其实越大越好):写入树莓派的系统
  • 1张2G的SD卡(非必须):用来写入openwrt
  • 1个读卡器:插SD卡,写系统用
  • 若干储存设备(大容量的U盘或者移动硬盘):作为树莓派的外部储存空间和下载空间以及文件共享中心
  • 若干根网线:为了更快的网速
  • 1~2根电源线:主要取决于你用几个派
  • 一个7寸显示屏(非必须):做相册用
  • 1~2根micro HDMI转HDMI连接线:4b连显示器,由于4b可以连接多显示器,有能力的朋友可以再来一根。
  • 一根HDMI连接线:3b连显示器
  • 若干散热片、风扇:进行树莓派散热
  • 1个硅酮导热胶(用来粘散热片)
  • 1~2个游戏手柄

注意:

  1. SD卡千万不要选拼多多几块钱还是十几块钱就超大空间的,那种卡根本不能用,也不能格式化。不要问我为什么知道,因为我已经买过坑了,手机用了会发烫。SD卡尽量选择大牌,毕竟谁都不想买一堆电子垃圾。
  2. 如果你的储存设备是U盘的话,尽可能选择可以格式化成FAT格式的,一般常见的大牌都可以。
  3. 如果你想为你的树莓派选择铝合金的壳子,就像我的一样,千万不要着急贴散热片,否则可能会因为散热片太高而无法盖上壳子,我的已经采取其他方式盖上了,变成镂空型的。

二、树莓派系统选择

  1. 4b选Openfans也就是树莓派爱好者基地的Debian-Pi-Aarch64
  2. (非必须)3b选retropie或者osmc或者openwrt

注意:

  1. Debian-Pi-Aarch64已经预置过很多功能,建议使用全功能的桌面版,方便我们操作一些需要图像化界面的东西
  2. 如果你的4b想用其他系统也可以,比如树莓派官方系统,Ubuntu为树莓派准备的64位系统都可以,只是树莓派官方64位系统还处在beta版,Ubuntu的系统源更新时显示过期需要你自己解决(我目前没有办法解决这个问题)。
  3. retropie是为了用3b打造复古游戏机(可以玩一玩超级玛丽那些游戏),osmc是为了打造树莓派多媒体(可以看电视、玩游戏、安装retropie),这俩分开主要是因为,osmc安装retropie太慢了(网慢),而且我们也用不着多媒体
  4. openwrt是为了用3b打造旁路由,让没有5GHz频段路由器的你提前感受一下带宽跑满的感觉

三、软件

我们需要往树莓派4b服务器上安装的程序很多,大家可以根据自己的需求选择。这步是给大家看看有什么好玩好用的软件的,具体安装在下一步。

1.宝塔面板

对于软件来说我们的主角4b,当然需要一个简单的管理面板,也就是宝塔面板,建议刷好系统之后第一件事安装宝塔面板。

宝塔面板
宝塔面板

2.aria2

aria2是一款轻量的下载器,能让你跑满带宽,占用内存极小,支持直链、种子、磁力链下载。

aria2
aira2

3.BaiduPCS

BaiduPCS是一款用来下载百度网盘资源的web管理界面,可以登陆你自己的网盘,下载自己网盘内容,虽然限速问题无法解决,但是我们也不用一直盯着下载进度看了,好好的睡一觉,第二天什么都有了。

BaiduPCS
BaiduPCS

4.kodbox

kodbox是一个私有云盘系统,有手机app、windows系统软件、mac系统软件,总的来说还是差一点。我自己没有下电脑版的,所以就截了这两个图。

kodbox web端
kodbox web端
kodbox手机端
kodbox手机端

5.nextcloud

nextcloud是一款开源的跨平台云盘系统以及文件同步系统,跨过了所有平台android、iphone、windows、mac、linux,事实更新文件,拥有比较高的颜值,可扩展性强(不过由于政策原因在大陆使用得手动安装插件),我就拿我自己香港云服务器上的展示一下比较全的功能的nextcloud,树莓派上的自己手动安装完插件也可以达到这样的效果。

可以去官网下载好web端的压缩包。

nextcloud web端展示
nextcloud web端展示
nextcloud 手机端展示
nextcloud 手机端展示
nextcloud 电脑端后台进程展示
nextcloud 电脑端后台进程展示
nextcloud 电脑端展示
nextcloud 电脑端展示

电脑端实际上会在你的电脑上创建一个像是磁盘的文件夹,可以直接进行管理,如果你上传文件,他会自动同步文件,如果你进行文件的修改,他也会在其他平台上实时更新。

这也是我比较喜欢的一个网盘程序,同时也是我用了很久的网盘。

6.samba

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,其实就是为了我们方便管理外部储存。

开了samba的树莓派
samba展示

7.openshot

一款优秀的开源视频编辑软件,获得了n多提名大奖,有兴趣的朋友也可以去他们的官网瞧瞧也是我自己目前用的视频编辑软件使用简单,操作方便,支持多平台。树莓派安装的话可以用vnc操作,也可以直接连显示器来操作,也就是文章一开始的截图。

openshot

8.handbrake

一款跨平台的开源视频格式转换工具,操作简单,使用方便也是我电脑上正在用的工具之一。

handbrake展示
HandBrake

9.blender

blender是一款跨平台的开源3d建模软件,其功能不亚于3dmax、maya等专业软件,并且它小巧只有300M左右大小,使用简单。我们在自己的电脑上建完模型之后,渲染工作就丢给我们的树莓派,只需要将文件传输给树莓派即可。

blender展示
blender

10. VNC view

这是装在我们自己电脑上为了查看树莓派的可视化桌面,同时也是为了方便一些操作。各位朋友下载的时候注意是vnc server 还是 vnc viewer,两个是不一样的东西,我们装在电脑上是为了显示树莓派的桌面,所以应该下载的是vnc viewer。可以直接在360安全管家下载,也可以去官网下载

vnc viewer

11.ffmpeg

一款开源的视频转码、解码、转换、加减水印、截屏等等集各大功能于一身的跨平台命令行工具,也是我在自己电脑上用的命令行工具之一。需要的小伙伴可以去官网上下载

在Debian-Pi-Aarch系统上安装有问题,目前我还没有解决,只能先放到这里,以后解决了再补上。

四、为4b下载、写入系统、修改config.txt文件

1.下载Debian-Pi-Aarch系统

下载地址在:官网 大家可以自己找到需要的系统

2.写入系统

为树莓派4b写入Debian-Pi-Aarch系统,这步相信大家应该都会。

要是不会就先在360软件管家下载Win32DiskImager,也可以在官网下载,怎么方便怎么来嘛。

将SD卡插入读卡器中,读卡器插入电脑,打开Win32DiskImager写入下载好的Debian-Pi-Aarch系统。

注意:写入系统时看准你写入的是sd卡的磁盘,弄错了你可能会失去一个磁盘。读取是为了备份系统镜像的,也不要点错了。

3.修改config.txt文件

由于我用的是7寸屏所以我在config.txt文件最后添加了以下代码,再保存拔出读卡器即可。

max_usb_current=1
hdmi_force_hotplug=1
config_hdmi_boost=7
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
hdmi_drive=2
display_rotate=0
hdmi_cvt 1024 600 60 6 0 0 0
disable_overscan=1

插入读卡器,点亮屏幕,在自动重启几次之后系统也就安装完成了。

注:如果改了config.txt文件,开机后还是黑屏,请查看自己的micro hdmi接线是否连接正确,总共有两个,连接到hdmi0才能正常点亮

连线到hdmi0

五、为树莓派4b安装软件

1.安装宝塔面板

具体安装步骤我写在了这里《树莓派4B-64位系统安装最新版宝塔面板》,这里只做简述,我安装的是最新的宝塔面板,先更新一下,再切换root进行安装,不使用root权限直接安装,中间可能会报错。

#更新
sudo apt-get update
sudo apt-get upgrade
#切换root权限
sudo su root
#安装宝塔面板
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

整个过程会持续半个小时左右

安装完成后你会得到宝塔面板的账号密码以及访问地址,在同一网络下输入 http://树莓派ip:8888/一串字符 就能进入面板或者在树莓派里输入http://localhost:8888/一串字符 也能进入。

注:

  1. 如果下载过程中半天没有动静,可能是网络原因,换个网试试,比如用手机开个热点,也就不到200M流量。
  2. 安装宝塔后有些端口会自动关闭,vnc桌面也会关闭,需要我们手动启动。

1.放行端口

我们在宝塔面板的安全处放行端口,以后需要用到端口的时候都可以在这里放行

安全-放行端口
放行端口

说明:

5900是自带的vnc server需要用到的端口,可以通过电脑上的vnc viewer进行连接

9090是自带的web控制台,可以在浏览器上输入 http://树莓派ip:9090 进行访问

6800是aria2需要用到的端口

4000-4999是我自己为可视化网站准备的端口

5299是百度网盘web端用到的端口

445、389、137、138、139、901是samba用到的端口

2.启动vnc server

因为是系统自带的vnc服务所以启动方式为,启动过程中会自动重启系统,上次正在下载东西,然后我自己输了一下结果下载就断了,很绝望。

enable-vnc

3.挂载u盘或者其他储存设备

#插入u盘,看看识别情况
lsblk

发现有了sda1确认已经识别成功 (/mnt/udisk是我挂载好的,在挂在前是没有的)。

#使用root命令创建在 /mnt 目录下创建一个 udisk的目录
sudo su root
mkdir /mnt/udisk
#挂载u盘
mount -o rw /dev/sda1 /mnt/udisk

编辑一下开机启动命令,让它开机为我们自动挂载u盘

sudo nano /etc/fstab
#填入以下命令(前面的/dev/sda1可以换成你的UUID=多少多少,打开之后应该默认就是UUID=多少多少)
/dev/sda1 /mnt/udisk auto defaults,nofail,noexec,umask=0000 0 0

2. 安装aria2下载器

具体安装步骤在《树莓派安装aria2做离线下载器》当然也可以结合着《》来看

一键脚本在树莓派上是不能正常安装aria2的,所以我们需要手动安装。

选择一种你喜欢的方式远程连接到树莓派,宝塔终端或者putty连接或者其他的方式。

1.下载aria2

sudo apt-get install aria2

2.创建并编辑配置文件

#创建aria2文件夹存放aria2配置文件
sudo mkdir /etc/aria2
#创建配置文件
sudo touch /etc/aria2/aria2.session
sudo touch /etc/aria2/aria2.conf
#编辑aria2.conf
sudo nano /etc/aria2/aria2.conf
#填入
#configuration file for aria2c
enable-rpc=true
rpc-allow-origin-all = true
rpc-listen-all = true
rpc-secret= nidemima


file-allocation=none
disable-ipv6=true
disk-cache=32M
split=3
max-concurrent-downloads=3
max-connection-per-server=3
max-file-not-found=3
max-tries=5
retry-wait=3
continue=true
check-integrity=true
log-level=error
log=/var/log/aria2.log

dir=/mnt/udisk/downloads



input-file=/etc/aria2/aria2.session
save-session=/etc/aria2/aria2.session

加粗部分等号后面的内容需要自己修改,rpc-secret 后面的是密码,dir后面的是文件的下载地址

3.运行aria2,并设置开机自启动

#后台运行aria2
aria2c --conf-path=/etc/aria2/aria2.conf -D
#编辑开机自启动
指令
sudo nano /etc/rc.local
#在exit 0之前添加后台运行命令即可,也就是添加
aria2c --conf-path=/etc/aria2/aria2.conf -D

4.下载安装aria2Ng

ariaNg的github的下载地址

回到宝塔面板,我们添加一个站点,域名随便输入,不需要新建数据库。

新建一个网站

下载并解压

下载并解压AriaNg

5.修改一下监听端口,并访问

因为我们只有一个ip,但是我们有很多端口,并且可以随意开放,这里为了演示就选择4004端口

修改监听端口

在同一网络下访问http://树莓派ip:4004 就可以进入aria2的前端,再输入我们之前的RPC密码即可使用。

输入RPC密码
输入RPC密码

3. 安装BaiduPCS

具体安装过程在《树莓派使用BaiduPCS做百度网盘离线下载器

选择一种你喜欢的方式连接到树莓派比如putty或者vnc桌面或者其他方式。

1.下载BaiduPCS

BaiduPCS下载并解压到树莓派中,注意下载版本是arm版本的。

2.新建一个screen窗口

#这个baidupan是窗口的名字,可以随便起
screen -S baidupan

3.运行BaiduPCS-Go

sudo su root
./BaiduPCS-Go

4.分离窗口

这步是为了让baiduPCS一直保持着启动的状态,否则你只要关掉终端,它也就关闭了

#按住ctrl+a再按下d即可分离

5.输入 http://ip:5299 访问并登陆自己的百度网盘

这里建议使用小号登陆,我自己用的是BDUSS登陆,BDUSS获取方式可以先登陆百度网盘的网页版,再按F12,下图位置即BDUSS的值

6.修改下载地址

由于安装好BaiduPCS之后它默认的下载地址是 /root/downloads 我们可以在右上角的设置中将它改成自己的储存地址。

4.安装Kodbox

这步非常简单,我们可以直接进入宝塔面板的软件商店,点击一键部署,他就会为我们自动下载安装。

域名随便填一个,端口号可以用其他的比如4005,这些东西可以参考前面的aria2安装时候修改的过程,记得要新建数据库。

手机app和windows软件可以在官网下载。

1.菜单样式修改

如果你想做成我前面图片中的菜单目录样子可以在左下角的用户管理处修改

用户管理
菜单管理
菜单管理

2.修改防跨站权限

取消勾选即可,因为我们是在局域网中部署的所以不用担心安全问题,如果不进行修改可能无法储存到外部空间上

取消勾选放跨站攻击
防跨站

3.储存空间修改

我们可以改成自己的外部储存来存放文件。

储存管理
储存管理

新增一个

新增储存
新增储存

最后删除原先的储存空间即可。

5.安装nextcloud

具体安装可以参考《使用Nextcloud一步搭建私有云盘

比起可道云来说我自己更喜欢nextcloud,毕竟是开源的,而且没有任何限制,比如用户数量限制,拥有丰富的插件等等。

在宝塔面板中新建一个网站,整个流程和前面的一样,域名随便起,创建时候记得新建数据库,端口号我们可以选择4006 ,anyone。

1.下载安装包

直接前往官网下载,这里也有windows、mac或者linux、app的安装包,根据自己的需求下载即可。

如果你的网络比较的慢,可以看看《云服务上一键安装aria2进行离线下载》有视频教程哦。用服务器帮我们先下载好,我们再从服务器上下载到树莓派上。

nextcloud下载
nextcloud 下载
下载nextcloud压缩包
下载nextcloud

2.上传到树莓派解压,再剪切到网站根目录下

nextcloud安装
nextcloud安装

3.访问 http://树莓派ip:4006 进行安装

安装过程中需要填写数据库内容,数据库在宝塔的数据库中可以获取,也可以参考《使用Nextcloud一步搭建私有云盘》中的部分内容。

4.修改外部储存地址

对于nextcloud来说这个是用插件来实现的,我们还是需要先取消勾选防跨站

取消勾选放跨站
取消勾选防跨站

回到nextcloud中,我们点击自己的头像-应用,看看External storage support插件有没有启用,没有启用可以先启用一下。

接下来就可以在设置中添加我们的外部储存设备的位置了。更多的内容还需要自己体验。

6.安装samba

具体内容可以参考《树莓派开启samba

选择一种你喜欢的方式登陆到树莓派中,打开终端

1.安装

#安装
sudo apt-get update && sudo apt-get install -y samba
#查看是否安装成功
samba --version
#出现以下内容则安装成功
Version 4.9.5-Debian

2.配置samba

编辑文件 /etc/samba/smb.conf ,在最后输入(其实随便找一个位置输入就可以)以下代码,因为是在局域网中安装所以直接给777权限

[public]
   path = /mnt/udisk/
   guest ok = yes
   browseable = yes
   writeable = yes
   create mask = 0777
   directory mask = 0777

3.启动samba

sudo samba
#或者
sudo /etc/init.d/smbd restart
sudo /etc/init.d/nmbd restart

4.寻找你的树莓派

在你的电脑中输入反斜杠以及你的树莓派ip查找,即可看到共享目录,我共享的是外部储存,也就是我的u盘

7.安装openshot

VNC连接树莓派,在终端输入

sudo apt-get install openshot

安装完成后在多媒体中就可以看到。

8.安装Handbrake

VNC连接树莓派,在终端输入

sudo apt-get install handbrake

安装完成后在多媒体中就可以看到。

9.安装blender

VNC连接树莓派,在终端输入

sudo apt-get install blender

安装完成后在多媒体中就可以看到。

10.ffmpeg

这个我目前位置还无法解决依赖的问题,如果你想用的话可以在自己电脑上直接使用

六、为树莓派3b下载安装系统

3b作为一个补充可以装openwrt做一个路由器,也可以装上retropie做一个复古游戏机

做openwrt的可以参考《树莓派刷openwrt打造旁路由器全攻略》《树莓派(吃灰派)刷大神改好的openwrt搭建旁路由

retropie可以直接前往官网下载

其他问题

1.下载比如nextcloud或者retropie的时候好慢怎么办?

可以自己租个云服务自己搭建aria2进行,具体可以参考《aria2+ariaNg在centos上一键安装搭建离线下载器

2.怎么进行及离线下载的流程是什么?

离线并不是字面上的离线,肯定是需要有设备一直在工作的,比如你的云服务器或者你的树莓派。如果我们觉得下载一些资源比较慢,我们可以先现在到我们的云服务器上,再用树莓派从我们的云服务器下载到我们的树莓派上。

比如我的云服务器上是用ip地址创建的aria2,我们服务器保存的目录是/downloads,那么我们用树莓派的aria2下载它的时候只需要填入 http://ip/downloads/文件 即可开始下载。

又或者我们使用BaiduPCS,下载网盘内容,我们只需要点击下载即可,虽然很慢,但是你的树莓派是可以一直保持着开机状态的,你其他所有设备都可以关掉。

3.下载的文件在哪里?

我们一路走来一直是用外部储存也就是u盘来保存储存文件的,也就是说下载完成后,文件都会在你的U盘指定位置出现,我们可以通过samba方式,直接从电脑上获取它,由于树莓派已经帮我们下载好了,我们又是处在内网中,所以可以很快的共享到我们的电脑或者其他的设备上。

4.为什么这么多内容里面没有相册、电影媒体中心、图书管理中心?

因为我实在是写不动了,为了这一篇内容用了大半年时间去尝试、解决问题,体验各种程序。

电子相册的话就连上显示器,让谷歌浏览器全屏模式开机自启,读取图片即可。

电影媒体中心、图书管理中心,这些完全可以用wordpress搭建,所以也不写了。之前去过私人影院,看到他们选择电影时候是通过ip访问的一个页面,也就是说他们将电影全部储存到自己的本地服务器上,然后自己建立一个管理页面让顾客选择,从而进行播放,这么一想如果用树莓派来代替服务器,应该能省不少钱。