告别百度网盘!利用OneIndex-Serverless无成本搭建属于你自己的网盘

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
函数计算FC,每月15万CU 3个月
简介: 一、前言 Onindex-Serverless是OneIndex项目的阿里云函数计算版本 OneIndex项目地址: donwa/oneindex OneIndex是一个PHP项目,目前已获得了3000+的star,可以将OneDrive挂载为个人在线网盘,提供资源的分享链接。

一、前言

本文为转载文章, 原文地址: https://zhuanlan.zhihu.com/p/74538287

Onindex-Serverless是OneIndex项目的阿里云函数计算版本

image

OneIndex项目地址: donwa/oneindex

OneIndex是一个PHP项目,目前已获得了3000+的star,可以将OneDrive挂载为个人在线网盘,提供资源的分享链接。OneIndex的部署需要PHP环境,虽然作者同时提供了Docker的部署方法,但是仍然需要自己拥有服务器,门槛较高只适合专业玩家。

随着云计算Serverless模式的逐渐成熟,无服务器函数计算版本的OneIndex最终于近日完成了1.0版本的构建,这将极大地降低搭建自己的OneDrive网盘的成本。这是一个成品示例: oneindex云函数版

目前已经完成了列目录、单个文件下载的基本功能,如果有更多的需求可以在我的GitHub项目上提出issue:
OneIndex-Serverless

Onindex-Serverless从一开始就被设计成了前后端完全分离的现代网站模式,其中后端是由python的Flask框架完成,前端则是React+Dva+Antd的经典模式。整个项目的部署包仅仅只有3个文件(后端1个main.py,前端1个config.json+1个index.html),可以充分减小部署的麻烦,同时提供极大的自由。

二、使用函数计算的优势

函数计算使用的是阿里云自己的Docker,在性能上足以满足需求,同时提供了非常稳定的服务。最重要的是有一个非常方便的http触发器,不需要关心域名、回源这些麻烦事,真正做到了开箱即用。

同时费率也是相当之低,堪称无成本,给大家看一下计费模式:

image

由于调用次数跟执行时间的免费额度根本用不完,真正的成本只有流量费,然而每次请求只会消耗上百KB的流量,成本也是可以忽略的,上千次请求只消耗了几十MB的流量,计费的时候被抹零了,相当于没有掏一分钱.

image
image

三、准备工作

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

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

2、点击右上角,获取accessKey和accessKeySecret
image

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

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

image

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

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

四、部署函数计算后端

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

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

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

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

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

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

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

五、部署前端网页

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

GitHub Pages法

1、创建一个空的repository
image

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

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

4、找到GitHub Pages,选择master branch
image

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

六、登录账号

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

1、获取账号,推荐花几块钱买一个5T账号(OneIndex的开发测试用的就是这种号,个人号或者1T的号不保证稳定使用)
image

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

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

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

5、登录账号
image
image
image
image
image

6、大功告成
image

7、后记

整个项目会持续不断地进行更新,始终保持这种简单粗暴的部署方式,未来升级只需要将代码丢过去就行了,希望大家多多支持!

原文地址: https://zhuanlan.zhihu.com/p/74538287

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
4月前
夸克网盘的文件怎么保存到百度网盘?
夸克网盘的文件怎么保存到百度网盘?
1937 2
夸克网盘的文件怎么保存到百度网盘?
|
4月前
|
消息中间件 弹性计算 运维
爆款游戏如何借助 RocketMQ Serverless,打造流畅体验并节省 98% 成本?
爆款游戏如何借助 RocketMQ Serverless,打造流畅体验并节省 98% 成本?
87287 7
|
12月前
|
弹性计算 运维 监控
阿里云 Elasticsearch Serverless 全新发布,平均可省50%成本
阿里云 Elasticsearch Serverless 全新发布,平均可省50%成本,致力于为用户打造更低成本、弹性灵活、开放兼容、开箱即用的云上 Elasticsearch 使用体验。
1195 0
|
5天前
|
存储 监控 Serverless
函数计算发布功能问题之用户在使用主流函数计算产品的日志服务时可能会遇到使用成本的问题如何解决
函数计算发布功能问题之用户在使用主流函数计算产品的日志服务时可能会遇到使用成本的问题如何解决
|
7天前
|
存储 运维 Serverless
Serverless 支撑赛事转播问题之利用函数计算实现图片处理的实时性和成本节约如何解决
Serverless 支撑赛事转播问题之利用函数计算实现图片处理的实时性和成本节约如何解决
|
4月前
|
关系型数据库 Serverless 分布式数据库
【PolarDB 开源】PolarDB Serverless 模式:自动扩缩容与成本效益分析
【5月更文挑战第25天】PolarDB Serverless 提供自动扩缩容功能,适应动态工作负载,降低成本。在业务高峰期增加资源保障性能,低谷期减少资源实现成本优化。通过对比传统模式下的成本浪费,示例说明了Serverless如何节省开支。代码演示了连接与查询PolarDB Serverless数据库的基本操作。要充分利用该模式,需合理规划业务、监控性能并结合其他云服务。PolarDB Serverless是弹性、经济的数据库选择,未来将持续创新,助力企业高效发展。
397 1
|
4月前
|
安全 Serverless API
Serverless架构在图像处理中展现出高成本效益,按需付费降低费用,动态调整资源避免浪费
【5月更文挑战第16天】Serverless架构在图像处理中展现出高成本效益,按需付费降低费用,动态调整资源避免浪费。其出色的并发处理能力和自动扩展确保高并发场景的顺利执行。简化开发流程,让开发者专注业务逻辑,同时提供丰富API和集成服务。安全方面,Serverless通过云服务商管理基础架构和多种安全机制保障任务安全。因此,Serverless是处理高并发、动态需求的理想选择,尤其适合图像处理领域。随着技术发展,其应用前景广阔。
49 4
|
4月前
|
Cloud Native Serverless API
Serverless 成本再优化:Knative 支持抢占式实例
Knative 是一款云原生、跨平台的开源 Serverless 应用编排框架,而抢占式实例是公有云中性价比较高的资源。Knative 与抢占式实例的结合可以进一步降低用户资源使用成本。本文介绍如何在 Knative 中使用抢占式实例。
92804 3
|
4月前
|
消息中间件 运维 安全
使用成本降低50%!阿里云消息队列ApsaraMQ全系Serverless化
使用成本降低50%!阿里云消息队列ApsaraMQ全系Serverless化
60 0
|
4月前
|
弹性计算 前端开发 Java
使用阿里云 mqtt serverless 版本超低成本快速实现 webscoket 长链接服务器
使用阿里云 MQTT Serverless 可轻松实现弹性伸缩的 WebSocket 服务,每日成本低至几元。适用于小程序消息推送的 MQTT P2P 模式。前端需注意安全,避免 AK 泄露,采用一机一密方案。后端通过调用 `RegisterDeviceCredential` API 发送消息。示例代码包括 JavaScript 前端连接和 Java 后端发送。
337 0

相关产品

  • 函数计算
  • 下一篇
    云函数