[Cloudreve]用 Cloudreve 快速建设基于OSS的个人云盘

前言

之前其实在云计算的1024中玩法中其实也有介绍过在 ECS 搭建一个 NextCloud 的网盘(),不过其实 ECS 云盘的价格还是比较贵的,在高并发下载的时候也容易遇到 I/O 瓶颈,特别是当云盘储存到一定容量以后如何扩容云盘也会是一个比较麻烦的事情。

像 OSS 这样的对象储存才是附件储存的第一选择,在国内外许多网盘公司都是选择购买对象储存的云服务来降低成本和运维压力的。那么我们搭建一个私人网盘自然也要选择 OSS 作为储存。

介绍

Cloudreve 就是这样一款出色的国产网盘,是一款基于 ThinkPHP 构建的网盘系统,能够助您以较低成本快速搭建起公私兼备的网盘。在功能上,可限制单文件最大大小、MIMEType、文件后缀、用户可用容量,图片、音频、视频、文本、Markdown、Ofiice文档 在线预览,拖拽上传、分片上传、断点续传、下载限速等等。

要求 & 收获

需要使用到的产品:

  1. 搭建了 LNMP 环境的任意(包括非阿里云)服务器/ECS (阿里云服务器可以不计推送到 OSS 的流量)
  2. 阿里云 OSS

通过本文你将讲学到:

  1. 使用 Composer 安装 PHP 程序
  2. 使用 OSS 作为网盘储存

教程

由于篇幅限制,不过多介绍 LNMP 环境介绍和虚拟主机搭建,具体教程请看:【云计算的1024种玩法】手把手学会配置安装 LNMP 建站环境

安装 Composer

由于目前 Cloudreve 处于开发状态,所以我们需要通过 Composer 进行安装。

一、运行下面代码即可全局安装 Composer:

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

二、使用国内镜像 因为默认源在海外,国内服务器下载可能会很慢,海外服务器可以跳过:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

安装 Cloudreve

创建好网盘用的虚拟主机和数据库后,进入虚拟主机网站的目录,例如我的是 /data/wwwroot/pan,然后开始下载安装:

cd /data/wwwroot/
composer create-project hfo4/cloudreve:dev-master

然后再虚拟主机的配置 conf 中加入伪静态规则:

location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; } } ...

修改树莓派交换分区 SWAP 的正确姿势

树莓派实验室按:Swap分区是磁盘上的一个特殊用途的分区。是当系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。
分配太多的Swap空间,会浪费磁盘空间,而Swap空间太少,则系统会发生错误。一般在内存小于2G的情况下,交换分区应为内存的2倍。对于树莓派来说,可以设置为2GB。当然也需要考虑 microSD 卡容量和使用情况。

错误的做法

下面是错误的做法!错误的做法!错误的做法!重要的事情说三遍!!!

一直以来,我以为树莓派的 swap 和普通 linux 的差不多,也就照着某些网站上的方法修改树莓派的交换分区大小。

熟悉的套路开始了!

首先,查看内存大小:

$ free -m
total used free shared buff/cache available
Mem: 976 35 226 12 714 864
Swap: 99 0 99

然后:

$ sudo dd if=/dev/zero of=/swapfile bs=1024 count=102400
$ sudo mkswap /swapfile
$ sudo chown root:root /swapfile
$ sudo chmod 0600 /swapfile
$ sudo swapon /swapfile
$ sudo vi /etc/fstab

接着,添加以下内容到fstab文件尾:

/swapfile swap swap defaults 0 0 ...