使用ECS和OSS搭建个人网盘

时间:2024-02-18 20:02:25

体验简介

本场景将提供一台配置了Centos 7.7版本的ECS实例(云服务器)和对象存储OSS实例。通过本教程的操作,您可以基于ECS和OSS快速搭建一个个人网盘。

体验此场景后,可以掌握的知识有:

OSS基本操作。
Linux 系统基础命令。

背景知识

本场景主要涉及以下云产品和服务:

云服务器ECS:

云服务器(Elastic Compute Service,简称ECS)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。阿里云ECS持续提供创新型服务器,解决多种业务需求,助力您的业务发展。

对象存储OSS:

阿里云对象存储OSS(Object Storage Service)是阿里云提供的海量、安全、低成本、高持久的云存储服务。其数据设计持久性不低于99.9999999999%(12个9),服务可用性(或业务连续性)不低于99.995%。

OSS具有与平台无关的RESTful API接口,您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。

您可以使用阿里云提供的API、SDK接口或者OSS迁移工具轻松地将海量数据移入或移出阿里云OSS。数据存储到阿里云OSS以后,您可以选择标准存储(Standard)作为移动应用、大型网站、图片分享或热点音视频的主要存储方式,也可以选择成本更低、存储期限更长的低频访问存储(Infrequent Access)、归档存储(Archive)、冷归档存储(Cold Archive)作为不经常访问数据的存储方式。

创建资源

1.在实验主页面,页面左侧,单击 云产品资源 下拉列表,查看本次实验所需资源。

2.单击屏幕右侧 创建资源 ,免费创建当前实验所需云产品资源。

说明:

资源创建过程需要1~3分钟。完成实验资源的创建后,您可以在 云产品资源 列表查看已创建的资源信息,例如:IP地址、子用户名称和子用户密码等。

image.png

连接ECS服务器

在页面右侧,单击 切换至 Web Terminal,将界面切换至 Web Terminal即可自动连接到ECS服务器。
image.png

安装Cloudreve

  1. 执行如下命令,下载cloudreve安装包。
wget https://github.com/cloudreve/Cloudreve/releases/download/3.3.1/cloudreve_3.3.1_linux_amd64.tar.gz

  1. 下载完毕后,执行如下命令,解压cloudreve安装包。
tar -zxvf cloudreve_3.3.1_linux_amd64.tar.gz

  1. 执行如下命令,给cloudreve授予权限。
chmod +x ./cloudreve

  1. 执行如下命令,运行cloudreve。
./cloudreve

返回结果如下所示,您可以看到管理员账号和密码。

image.png
5. 打开浏览器,访问http://<ECS公网地址>:5212,依次输入管理员账号和密码,单击登录。

image.png
登录成功界面如下。

image.png
6. 在终端中按下Ctrl+C键,停止cloudreve运行。

安装ossfs

ossfs能让您在Linux系统中,将对象存储OSS的存储空间(Bucket)挂载到本地文件系统中,您能够像操作本地文件一样操作OSS的对象(Object),实现数据的共享。

  1. 执行如下命令,下载ossfs安装包。
wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm

  1. 下载完毕后,执行如下命令,安装ossfs。
yum localinstall ossfs_1.80.6_centos7.0_x86_64.rpm -y

返回结果如下所示,表示ossfs安装成功。

image.png
3. 执行如下命令,配置账号访问信息,将Bucket名称以及具有此Bucket访问权限的AccessKey ID和AccessKey Secret信息存放在/etc/passwd-ossfs文件中。您需要将BucketName、yourAccessKeyId和yourAccessKeySecret替换成Bucket名称、AccessKey ID和AccessKey Secret。

echo BucketName:yourAccessKeyId:yourAccessKeySecret > /etc/passwd-ossfs

参数说明:

  • BucketName:阿里云OSS控制台中创建的bucket名称,可在第一小节中的云产品资源下拉列表中查看。
  • yourAccessKeyId:具有此Bucket访问权限的AccessKey ID,可在第一小节中的云产品资源下拉列表中的AK
    ID查看。
  • yourAccessKeySecret:具有此Bucket访问权限的AccessKey
    Secret,可在第一小节中的云产品资源下拉列表中的AK Secret查看。

图a:OSSbucket名称
image.png
图b:AccessKey ID信息

image.png
4. 执行如下命令,给passwd-ossfs文件授予权限。

chmod 640 /etc/passwd-ossfs

挂载OSS

1.在终端中,执行如下命令,创建一个名为oss文件夹。

mkdir oss

2.执行如下命令,将Bucket挂载到指定目录oss,您需要将BucketName、mountfolder和Endpoint替换成bucket名称、创建的oss文件夹和OSS的ECS 的经典网络访问(内网)的Endpoint。

ossfs BucketName mountfolder -o url=Endpoint

参数说明:

  • BucketName:阿里云OSS控制台中创建的bucket名称,可在第一小节中的云产品资源下拉列表中查看。
  • mountfolder:创建的挂载文件夹。
  • Endpoint:OSS的ECS 的经典网络访问(内网)的Endpoint。
    image.png
    3.查看是否挂载成功
df-h

返回结果如下,表示挂载成功。
image.png

4.执行如下命令,在/etc/init.d/目录下建立文件ossfs,设置开机自动启动脚本进行OSS挂载。

vim /etc/init.d/ossfs

进入Vim编辑器后,按下i键进入编辑模式,添加以下内容,添加完成后按下Esc键退出编辑模式,最后输入:wq后按下Enter键,保存并退出Vim编辑器。

注意:

您需要将BucketName、mountfolder和Endpoint替换成bucket名称、创建的oss文件夹和OSS的ECS 的经典网络访问(内网)的Endpoint。

#! /bin/bash
#
# ossfs      Automount Aliyun OSS Bucket in the specified direcotry.
#
# chkconfig: 2345 90 10
# description: Activates/Deactivates ossfs configured to start at boot time.

ossfs BucketName mountfolder -o url=Endpoint -oallow_other

添加后的文件内容如下所示。

image.png
5.执行如下命令,为新建立的ossfs脚本赋予可执行权限。

chmod a+x /etc/init.d/ossfs

6.执行如下命令,把ossfs启动脚本作为其他服务,开机自动启动。

chkconfig ossfs on

配置个人网盘

1.执行如下命令,运行cloudreve。

./cloudreve

2.打开浏览器,访问http://<ECS公网地址>:5212,依次输入管理员账号和密码,单击登录。

3.在cloudreve主界面右上角,单击管理面板。

image.png
4.在确定站点URL设置对话框中,单击更改。

image.png
5.在左侧导航栏中,单击存储策略。
image.png

6.在存储策略页面,单击添加存储策略。

image.png
7.在选择存储方式对话框中,选择本机存储。

image.png
8. 在添加本机存储策略的上传路径页面中,将存储目录修改为oss/{uid}/{path},单击下一步。
image.png

9.在添加本机存储策略的直链设置页面中,单击下一步。
image.png

10.在添加本机存储策略的上传限制页面中,单击下一步。
image.png

11.在添加本机存储策略的完成页面中,输入存储策略名OSS,单击完成。

image.png
12.在左侧导航栏中,单击用户组。

image.png
13.在用户组页面中,单击管理员操作中的编辑图标。

image.png
14.在编辑管理员页面的存储策略中,选择oss,然后单击保存。

image.png
image.png
15. 在用户组的右上角,单击返回主页。

image.png
16.在个人网盘页面,拖拽任意文件到网页中,待文件上传完毕,关闭上传队列。

image.png
17.打开虚拟桌面的FireFox ESR浏览器打开oss控制台,在左侧导航栏中,单击文件管理。

image.png
18.在文件管理页面,单击文件名为1的文件夹。

19.在1文件夹中,您可以看到在个人网盘上传的文件。image.png