用 Cloudreve 快速建设基于OSS的个人云盘
前言
之前其实在云计算的1024中玩法中其实也有介绍过在 ECS 搭建一个 NextCloud 的网盘(),不过其实 ECS 云盘的价格还是比较贵的,在高并发下载的时候也容易遇到 I/O 瓶颈,特别是当云盘储存到一定容量以后如何扩容云盘也会是一个比较麻烦的事情。
像 OSS 这样的对象储存才是附件储存的第一选择,在国内外许多网盘公司都是选择购买对象储存的云服务来降低成本和运维压力的。那么我们搭建一个私人网盘自然也要选择 OSS 作为储存。
介绍
Cloudreve 就是这样一款出色的国产网盘,是一款基于 ThinkPHP 构建的网盘系统,能够助您以较低成本快速搭建起公私兼备的网盘。在功能上,可限制单文件最大大小、MIMEType、文件后缀、用户可用容量,图片、音频、视频、文本、Markdown、Ofiice文档 在线预览,拖拽上传、分片上传、断点续传、下载限速等等。
要求 & 收获
需要使用到的产品:
- 搭建了 LNMP 环境的任意(包括非阿里云)服务器/ECS (https://www.aliyun.com/activity/daily/bestoffer?userCode=4xs4uhbs)
- 阿里云 OSS(https://www.aliyun.com/product/oss?source=5176.11533457&userCode=4xs4uhbs)
通过本文你将讲学到:
- 使用 Composer 安装 PHP 程序
- 使用 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;}}
进行等待后,然后会开始命令行的交互:
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?
是否移除一些不必要的版本控制文件历史? 输入 y
Input the hostname of your MySQL server (Default:127.0.0.1):
接下来是数据库库设置的交互:
Input the hostname of your MySQL server (Default:127.0.0.1): //数据库连接地址,本的话默认回车
The database name:pan //数据库名称
The username of your MySQL server (Default:root):root //数据库用户名
The password of your MySQL server:mf8.biz //数据库用户密码
The hostport of your MySQL server (Default:3306): //数据库端口,默认回车The full-url to access to your Cloudreve (e.g. https://pan.aoaoao.me/ , 'http' must be included in the front and '/' must be included at the end): //网站域名, 必须 http:// 或者 https:// 开头, / 结尾!
然后就安装成功了,会提示你:
Congratulations! Cloudreve has been installed successfully.Here's some informatioin about yor Cloudreve:
Homepage: http://pan.mf8.biz/ //首页地址
Admin Panel: http://pan.mf8.biz/Admin //后台地址
Default username: admin@cloudreve.org //管理员账号
Default password: admin //管理员密码
然后把 cloudreve/
目录重命名为 pan/
,这里的 pan/
和你的虚拟主机绑定的目录所对应不是唯一的,只是我这里这样做。
cd /data/wwwroot/
mv cloudreve/pan/
网站管理
然后进入你的网站首页:
登录管理员账号就进入 http://pan.mf8.biz/Admin 页面,网址替换成你的。
然后找到 上传策略 —— 添加
然后参考 《使用 AliCloud Duplicity 将服务器文件备份至 OSS》 ,设置 OSS 的子账户,因为涉及 Access Key
安全起见使用子账户。
然后点击 阿里云 OSS 下面添加:
然后邮件推送可以使用阿里云的邮件推送服务来做支持:
然后回到首页我们就可以正常的使用一个储存在 OSS 的网盘了!测试一下上传下载预览是否可用哦!
用 Cloudreve 快速建设基于OSS的个人云盘相关推荐
- 使用 Cloudreve 快速搭建一个强大的个人云盘
前言 不知道各位对于百度云等市场网盘的看法是怎样.就我个人而言,除开万恶的限速以外,在使用体验上这些网盘都会略显臃肿,尤其是在那种体积不大的文件上,上传下载都十分的不便,更不用说偶尔仅仅只是上传下载一 ...
- 用python建云盘_实用的Python(3)超简单!基于Python搭建个人“云盘”
1 简介 当我们想要从本地向云服务器上传文件时,比较常用的有pscp等工具,但避免不了每次上传都要写若干重复的代码,而笔者最近发现的一个基于Python的工具updog,可以帮助我们在服务器上搭建类似 ...
- python云盘搭建教程_超简单!基于Python搭建个人“云盘”,目前最好用的个人云盘...
超简单!基于Python搭建个人"云盘",目前最好用的个人云盘 1. 简介 当我们想要从本地向云服务器上传文件时,比较常用的有pscp等工具,但避免不了每次上传都要写若干重复的代码 ...
- 基于Java+hadoop网络云盘上传下载系统设计与实现
目 录 网络云盘上传下载系统摘要----------------------------------5 The Network Cloud Disk`s Upload and DownloadAbst ...
- 基于SpringBoot框架的云盘系统设计
平时大家会接触和用到很多云盘,比如百度云盘.阿里云盘.夸克云盘等等,其实云盘这东西在实现的时候,代码的设计只能算是一半的功劳,另一半是拥有一套强大的远程存储和宽带支持.今天给大家介绍的就是一个云盘系统 ...
- 超简单!基于Python搭建个人“云盘”
1. 简介 当我们想要从本地向云服务器上传文件时,比较常用的有pscp等工具,但避免不了每次上传都要写若干重复的代码,而笔者最近发现的一个基于Python的工具updog,可以帮助我们在服务器上搭建类 ...
- python自制个人网盘_超简单!基于Python搭建个人“云盘”
1 简介 当我们想要从本地向云服务器上传文件时,比较常用的有pscp等工具,但避免不了每次上传都要写若干重复的代码. 而笔者最近发现的一个基于Python的工具updog,可以帮助我们在服务器上搭建类 ...
- python创建网盘_超简单!基于Python搭建个人“云盘”
1 简介 当我们想要从本地向云服务器上传文件时,比较常用的有pscp等工具,但避免不了每次上传都要写若干重复的代码. 而笔者最近发现的一个基于Python的工具updog,可以帮助我们在服务器上搭建类 ...
- 基于Hadoop的数据云盘的实现
环境:centos6.6 Tomcat7.0 eclipse MySQL 首先介绍一下这个简单网盘的功能:实现用户的注册,登录:上传.下载.删除文件: 基于Hadoop hdfs的集群分布式系 ...
最新文章
- (C++)1021 个位数统计
- 贪心 ---- 2020牛客多校第3场[Clam and Fish+贪心]
- apche 虚拟主机设置
- 百度网盘文件分享演示,如何查看已经分享的文件
- 水磨石地面分隔条设置示意图_水磨石地面设置分格条的作用是什么
- 如何处理word document webservice response中奇怪的xml node
- java jsp中控件绑定_jsp页面常用控件
- openglshader实现虚拟场景_opengl+shader
- python制作中文词云_Python如何生成词云(详解)
- 程序员微信头像_微信头像暴露了你的层次:层次越低的人,越喜欢用这些头像...
- yum install rpm包时报错
- Xtrabackup--InnoDB备份工具介绍(1)
- EtherCat主站开源的C语言库SOEM说明
- 什么是javaEE、javaSE、javaME,这三者区别是什么?
- VUE调用高德地图之热力图
- android notifydatasetchanged 刷新错误,ListView中使用notifyDataSetChanged()刷新,item显示混乱。...
- 愿为你倾尽一世,守侯一生
- 万能的pdf转换成jpg转换器软件
- 直接灰度变换法matlab,数字图像处理-灰度变换(附MATLAB代码)
- 什么是Hash哈希(散列表)
热门文章
- 【Apsara Clouder 认证】API 接口调用真题
- JavaScript控制div的移动跟着鼠标一起移动div
- android自定义头像上传,android裁切图片之用于头像上传
- 小白自学CAD教程:706集全网最新CAD学习教程,一学就会
- 假阳率(第一类错误)、假阴率,召回率、精确率
- 利用存储过程分页显示查询数据
- 成功说服别人的20个技巧
- iframe的属性及其简单使用(点击标签切换页面)
- powerbuilder(pb)连接mongodb数据库:使用ODBC连接
- android 组件可见,android界面控件可见性方法setVisibility()3个可选参数(visible,invisible,gone)的区别...