从零开始搭一个树莓派

本文最后更新于:2022年5月4日 晚上

介绍

新入了一个树莓派4b,开始了漫长的配置过程。记录一下,以便以后可以参考。配置是树莓派4b, 西部数据的2t移动硬盘。硬盘直接通过usb口连接树莓派,可以用fdisk格式化硬盘。

系统选择

在操作系统上,我选择的是 Ubuntu的20.04(LTS), 原因是因为ubuntu对树莓派的支持比较好,而且更习惯用ubuntu.

更换apt源

ubuntu默认的源可以会出现下载缓慢的情况,我们可以更换ubuntu的源到国内的服务提供商。
这里我选择的是清华提供的源

1
2
3
4
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

这里有个容易踩坑的地方,在网上搜索源的时候,大概率搜到的都是amd64的源,但是树莓派是arm架构的,如果用了amd的源会导致无法正常使用。所以把每一条url最后的 /ubuntu/ 改成 /ubuntu-ports/

安装Nginx

Nginx不仅可以做到均衡负载,还可以针对不同的host转发到不同的服务。安装也十分便捷

1
2
apt update
apt install nginx

安装Docker

Docker可以避免在部署不同的服务时造成的环境冲突问题,在遇到问题时也可以很方便的替换出问题的部分。
这里用安装包的方式安装docker(比较省事)。 参考文档
下载好合适自己系统的安装包,containerd、docker-ce-cli、以及 docker-ce 后就可以用dpkg -i 安装,需要按照上面的顺序安装

1
2
# 安装好后输入下面的命令,如果正常显示就大概没有什么问题
docker version

在Docker中安装nextcloud

nextcloud官方提供了一个docker的镜像

1
2
docker pull nextcloud
docker run -d -p 8080:80 nextcloud

使用上面的两行命令就可以快速的创建一个nextcloud的容器

1
2
3
4
5
6
7
8
9
创建Nginx的配置文件 nextcloud.conf
server {

listen 80;
server_name 127.0.0.1;
location / {
proxy_pass http://docker.ip;
}
}

把docker.ip替换成自己的dockerip,再重载nginx,此时访问 127.0.0.1 就会跳转到nextcloud的页面
ps:这里又一个容器踩坑的地方 因为在使用nextcloud的时候使用了nginx作为反向代理,所以可能会触发nextcloud的‘可信域名’机制,可以参考这篇文章解决。

End

到此为止就完成了树莓派的基本配置,期待发掘更多功能