一、前言

古人云:鸡(数)蛋(据)不能放在一个篮子里面。这句极具哲理的话,广为流传且已经被广大网友实际应用到了日常的生活和工作中,例如我们个人用户或者中小企业用户会使用个人网盘把数据同步在云端保存一份。

早期,互联网企业放出免费大招,以无限大、永不关停的承诺灌输用户使用个人网盘的观念,随着越来越多企业的投入,用户数据越来越多,最终用户对个人网盘的使用形成了习惯。Analysys易观分析认为,中国网盘市场用户规模巨大,活跃用户多、启动时间长。

clip_image002[6]

调查报告显示,2016年、2017年百度云盘的市场使用时长份额处于领先地位。而其他厂商的市场份额大幅缩小,这是因为互联网整治行动后,大部分个人网盘厂商如115 网盘、迅雷快盘、金山快盘、360云盘等纷纷宣布暂停了个人网盘业务。

clip_image004[6]

那么这些网盘厂商这么任性,说关就关,我们广大网友以及中小企业该怎么办?

今天,我们带大家一起看看,如何使用Seafile在Azure上搭建个人网盘,真正的把数据掌握在自己的手中。

二、介绍

Seafile 是一个开源的文件云存储平台,解决文件集中存储、同步、多平台访问的问,允许用户创建“群组”,在群组内共享和同步文件,方便了团队协同工作。

Seafile分为社区版和专业版,具体区别如下:

https://www.seafile.com/product/private_server/

三、Seafile 组件

Seafile 包含以下系统组件:

Seahub:网站界面,供用户管理自己在服务器上的数据和账户信息。Seafile服务器通过"gunicorn"(一个轻量级的Python HTTP服务器)来提供网站支持。Seahub作为gunicorn的一个应用程序来运行。

Seafile server (seaf-server): 数据服务进程, 处理原始文件的上传/下载/同步。

Ccnet server (ccnet-server): 内部 RPC 服务进程,连接多个组件。

Controller: 监控 ccnet 和 seafile 进程,必要时会重启进程。

四、Seafile建议架构

clip_image006[6]

l 所有 Seafile 服务都可以配置在 Nginx/Apache 后面,由 Nginx/Apache 提供标准的 http(s) 访问。

l 当用户通过 seahub 访问数据时,seahub 通过 ccnet 提供的内部 RPC 来从 seafile server 获取数据

五、为什么要部署在Azure上

Azure始终复制存储帐户中的数据,确保持久性和高可用性。 Azure 存储复制功能可以复制数据,以防范各种计划内和计划外的事件,例如暂时性的硬件故障、网络中断或断电、大范围自然灾害等。 可以选择在同一数据中心以及甚至跨区域复制数据。

六、如何部署

1、首先,我们在Azure上创建一台虚拟机,填写相关信息

clip_image008[6]

2、为虚拟机选择一个适合您需求的型号

clip_image010[6]

3、根据需求,选择相应的功能

clip_image012[6]

4、勾选使用条款,就可以创建虚拟机了

clip_image014[6]

5、虚拟机创建好之后,我们通过RDP连接到虚拟机里,打开浏览器,输入以下URL

https://www.seafile.com

下载Seafile的服务器软件,Seafile支持Linux和Windows,我这里选择Windows.(Windows仅支持25个用户)

clip_image016[6]

6、目前最新的版本是6.0.7,下载下来后,是一个压缩文件

clip_image018[6]

7、使和7z软件,解压这个文件

clip_image020[6]

8、我们在https://www.seafile.com打开Seafile的安装手册,下载并安装Python2.7.11 32bit,并根据要求设置环境变量

clip_image022[6]

  • Add the installation path of python2.7 to the system PATH environment variable. If you installed python 2.7 to C:\Python27 add C:\Python27 to the PATH environment variable.

  • Warning: Be sure to use Python 2.7.13 32bit. 64bit and other versions don't work.

9、在Seafile的解压缩文件里面运行run.bat文件,以启动 Seafile 服务器。此时,您应该注意到 Seafile 服务器的图标已经出现在您的系统托盘中,然后我们在弹出的对话框中选择一个磁盘,以便存储 Seafile 服务器的数据。

clip_image024[6]

10、数据存储位置设置好之后,会产生一个seafile-server的文件夹,所有的数据都会保存在这个文件夹

clip_image026[6]

11、右击 Seafile 服务器的系统托盘图标, 选择"添加管理员帐号"选项。

clip_image028[6]

12、在弹出的对话框中输入您的管理员用户名和密码

clip_image030[6]

13、如果操作成功, Seafile 服务器托盘图标处会弹出一个气泡提示您"添加 Seahub 管理员账户成功"

clip_image032[6]

14、访问服务器的 Web 界面 (打开 http://<您的 IP 地址>:8000),用管理员账号登录

clip_image034[6]

15、在右上角选择“系统管理”,进入系统设置页面

clip_image036[6]

16、将SERVICE_URL的值配置成http://<您的 IP 地址>:8000。比如您的 Windows 服务器地址为 192.168.1.100, 那么配置成SERVICE_URL = http://192.168.1.100:8000

将FILE_SERVER_ROOT的值配置成http://<您的 IP 地址>:8082。比如您的 Windows 服务器地址为 192.168.1.100, 那么配置成SERVICE_URL = http://192.168.1.100:8082

clip_image038[6]

17、我们还可以添加其他用户,比如,这里添加了一个tom用户

clip_image040[6]

clip_image042[6]

18、在浏览器输入我们设置好的网盘的公网IP地址,结果发现,无法访问

clip_image044[6]

19、原来我们在Azure的NSG里没有开放8000端口和8082端口,进入Azure虚拟机的NSG,添加入站端口8000,此端口用于浏览Web页面

clip_image046[6]

20、添加入站端口8082,此端口用于下载文件和上传文件

clip_image048[6]

21、再次尝试打开Web页面,已经正常访问了,我们输入tom用户

clip_image050[6]

22、第一次登录,需要改密码

clip_image052[6]

23、欢迎来到Seafile

clip_image054[6]

24、在页面上尝试上传一个文件

clip_image056[6]

25、上传速度很快

clip_image058[6]

26、在https://www.seafile.com/download/ 下载Seafile客户端,支持Windows、Mac、Linux、Terminal等,我们拿Windows 举例下载安装

clip_image060[6]

27、安装完成后,需要我们选择一个文件夹,用于保存下载的文件

clip_image062[6]

28、添加云盘网址和用户名以及密码

clip_image064[6]

29、设置好之后,就可以登录了

clip_image066[6]

30、我们可以在本地设置一个同步文件夹,让本地文件同步到网盘

clip_image068[6]

31、同步结果显示Azure的上传速度非常快

clip_image070[6]clip_image072[6]

32、在Web页面查看,文件已经存在服务器上了

clip_image074[6]

怎么样?是不是很简单呢,快点动手部署起来吧,有道是:数据握在手,心中不慌张。