1. 首页
  2. 技术
  3. Linux

利用阿里云函数和OneIndex无成本搭建属于你自己的网盘

利用阿里云函数计算以及Onindex-Serverless无需服务器即可无成本搭建属于你自己的网盘!

Onindex-Serverless是OneIndex项目的阿里云函数计算版本,OneIndex是一个PHP项目,目前已获得了3000+的star,可以将OneDrive挂载为个人在线网盘,提供资源的分享链接。OneIndex的部署需要PHP环境,虽然作者同时提供了Docker的部署方法,但是仍然需要自己拥有服务器,门槛较高只适合专业玩家。随着云计算Serverless模式的逐渐成熟,无服务器函数计算版本的OneIndex最终于近日完成了1.0版本的构建,这将极大地降低搭建自己的OneDrive网盘的成本。

本文稍有点繁琐,分为4个大步骤,按照教程一步一步来就可以完成!

这是博主搭建的成品演示:down.ww.rs

一、准备工作

1、从GitHub上下载项目的zip包,解压,找到Deploy文件夹,其中Front和Back分别是前端和后端的部署文件;

Ua0490a32596b45cdbbecad59460b16dfLU8da3b1b681fa49b488e8f0a04d57cf7dD

2、注册您的阿里云账号,开通函数计算和对象存储两个服务;

U44c87f5d629d4aebb0989edccab63eddx

3、点击右上角,获取accessKey和accessKeySecret;

Ue0b892cfb1a646c182b8437fd48f45f6p

为了安全起见,最好开一个只有对象存储权限的子账户

U8627ddd5c14d43a5b213bc3363cab781fU7232dc77ed3145f8a923b51cf7ec1634BU52f2388ede3c4b96bb4269ee4c554336YU936cec0ba1a540cbbaa8e9bda9b224b8Q

4、在对象存储服务中,新创建一个存储桶,使用默认配置即可,但要记住您选择的区域(在下一步开通函数计算服务时需要在同一区域),以及Bucket名称;

U0dfa252d6781498d86cfc7b76c4c67eby

在创建完存储桶后,请记下区域节点的EndPoint(选择内网的)

Ue7cc9494d1c747debd479c1e7867e9493

好了,准备工作完成了,这一步您记下的内容待会需要填在main.py中

Uda5daa4b57b94bdeae21b900eb6ecbb3x

二、部署函数计算后端

1、在上一步对象存储同一区域(比如说示例中是华东1,这一步也是华东1)中创建一个函数计算服务

U74540b8d5fc34b358ca78f028106b5ffV

2、服务创建的时候记得选择高级配置->公网访问

Uc1c8b87dab8a4f658b604d77189d76300

3、新建函数,选择Python2.7,flask-web模板

Uffcb5ad44d44432e97fa93b5b4ef59d9T

4、将main.py的全部代码复制粘贴到在线编辑器中

U0b7255af4c154075b011e28d1d79068d2

5、在代码编辑器中填写准备工作中获取到的accessKey、accessKeySecret、endPoint、bucketName

Uc0895b9df7d84f8990acde64768ff8f42

6、环境配置里新建main.initializer的函数初始化入口,其它参数可以参考图中示例配置。内存跟超时选最大即可(并不会实际就用到这么多)。然后选下一步,创建完毕。

U33a377a8fe9941e6b53f1c3b66d82f5es

7、重新进入代码编辑界面,找到http触发器的url,将其同时填写到编辑器里的main.py的url_host中,以及部署包里Deploy/Front的config.json(下一步要用)

U51986f6525564f27937745edbbc8cefdF

三、部署前端网页

部署静态网页的方法非常之多,您可以使用传统服务器上的iis、nginx、httpd等,也可以用阿里云的对象存储保存并使用CDN发布,或者用免费但是有点慢的GitHub Pages。下面介绍其中一种简单易行的方法(注意部署之前需要修改config.json中的host为http触发器的url):

GitHub Pages法

1、创建一个空的repository

U9a5c8d8a28c34c1d9b5daa27771846196

2、将Deploy/Front中的index.html和config.json添加到repository的根目录下,并commit,然后publish

Udc93594269a548f8b64eadb1051a0503N

3、前往已发布的项目的设置中

U203ecc9d831a4f1e9db3c63c4145a5a5R

4、找到GitHub Pages,选择master branch

U95b3e860b7b34289966694ca3a4a1694p

5、发布成功,得到了最终的url

Udaffcce93aa84b4fa1ab8661c3482e148

四、登录账号

恭喜您,到这一步,已经完成了整个项目的搭建,下面让我们开始进行账号授权吧。

1、获取账号,(Office 365 A1/Plus、E3、E5等都可以,本站以前免费发放的也可以用)

2、打开后台,默认是/admin

U165b8a9f606a4cdab612b32cc9c0fa07C

3、输入密码(与部署函数计算阶段的一致,默认是123456)

U218e54e40d1a48a09e843b772a7d6968H

4、查看系统状态,这里是错误示范的一种异常,原因是我的EndPoint填错了,回去改正就没问题了

Uac8ae3d8453f4d0588900a9beaaf25ceW

5、登录账号

Ub78ffdd1b95a48baabdb817fcc4cf59dQUf2627800b421481b94a9d0881fceb678gUb03ba508b8ce4b8a84bf41ab29b382a5VU4f7b2cda1d7f4ed594bf0f35744b2d9eYU5a8bf0df092a428fb5223d8ac9e950ccOUde889695fdcb46cfa9ac1dbcb1f898261

6、大功告成

U417dbe252ce04227a42ff56aa3e4b4a8O

演示地址: down.ww.rs

开源地址: https://github.com/LiuChangFreeman/OneIndex-Serverless

原创文章,作者:admin,如若转载,请注明出处:https://www.huiyingwu.com/3103/

发表评论

电子邮件地址不会被公开。 必填项已用*标注