0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于亚马逊云科技高可靠性的EC2云服务器,搭建功能无限制的私人网盘

科技新思路 来源:科技新思路 作者:科技新思路 2023-10-11 14:32 次阅读

网盘是一种在线存储服务,提供文件存储,访问,备份,贡献等功能,是我们日常中不可或缺的一种服务。很多互联网公司都为个人和企业提供免费的网盘服务。但这些免费服务都有一些限制,比如限制下载速度,限制文件大小,不能多人同时管理,不能实现一些定制化功能。如果想取消这些限制,就要付费。现在为大家介绍一种免费,且功能无限制的私人网盘。利用开源网盘软件NextCloud,配合亚马逊科技提供的免费服务额度,来搭建一个没有使用限制的私人网盘。

成本优势

由于亚马逊云科技服务种类较多,且计费详细,很多用户有些看不懂,所以对使用亚马逊云科技云服务器望而却步。其实亚马逊云科技很多服务都有免费套餐,以让用户体验,这些服务的免费套餐,搭建一个私人网盘绰绰有余。

技术优势

众所周知,亚马逊云科技为很多跨国公司提供稳定的企业级云服务。将网盘架设在亚马逊云科技上,依托亚马逊云科技提供的企业级服务,使网盘性能更加卓越和稳定。NextCloud是一款基于php开发的开源网盘应用。当您选择亚马逊云科技的Graviton2运行php7.4版本代码时,性能提升多达30%。另外,作为网盘存储介质的Amazon S3可达到99.999999999%(11个9)的持久性,并为全球各地的公司存储数百万个应用程序的数据。所以,您无需担心数据丢失。

操作指南:创建实例

首先,选择一个在中国访问较快的亚马逊云海外区域,这里拿新加坡为例。在网页右上角切换区域为新加坡。点击网页左上角的“服务”,找到EC2,并点击。点击网页中的“启动实例”按钮。

wKgZomUmQZmARDV0AADpQO-Xeas415.png

在选择操作系统页面,选择Ubuntu Server 20.04 LTS,并且在右侧选择系统版本为ARM。点击蓝色的“选择”按钮。(注意:如果是免费套餐内的操作系统,会有标注“符合条件的免费套餐”。)

wKgaomUmQZmAbAJTAACE8Cqr5tQ477.png

在选择实例类型页面,选择micro,其中的字母g代表采用了Graviton2芯片。看到这个类型也标注了“可免费试用”。点击“下一步:配置实例详细信息”。

去掉“积分规范”后面的复选框,避免产生额外费用。点击“下一步:添加存储”。

在添加存储页面,将根卷大小更改为30GB,因为亚马逊云提供的免费套餐最大为30GB。点击“下一步:添加标签”。

添加标签页无需任何修改,直接点击“下一步:配置安全组”,选择“创建一个新的安全组”,点击左下角的“添加规则”按钮,类型选择“http”,确认下端口范围为80,来源为0.0.0/0,代表任意IP可访问。后面::/0代表IPv6。点击右下蓝色按钮“审核和启动”。

wKgZomUmQZmACaGiAACM92q3D3g697.png

在核查实例启动页面,点击右下按钮“启动”。会让您创建密钥,用于登陆实例,按提示创建并保存即可。

操作指南:分配固定IP

这样创建出的实例只分配了临时IP,我们需要给实例分配一个固定IP地址,点击左上角“服务”,找到VPC。

进入到VPC点击左侧“弹性IP”,再点击右侧“分配弹性IP地址”,得到一个固定IP地址。选中这个地址,点击“操作”按钮,选择“关联弹性IP地址”,在关联页面选择刚才创建的实例,将固定IP与刚才创建实例相关联。请记下这个固定IP,后面会使用它来访问网盘。

操作指南:安装NextCloud

返回EC2服务界面,观察实例状态为“正在运行”,且状态检查为“2项检查已通过”。则代表已经创建成功,勾选实例前的复选框,点击右侧的“连接“按钮。

wKgaomUmQZqAflThAACKmsmFx1Q218.png

使用EC2 Instance Connect从浏览器就可以登入EC2实例,如果失败,使用console界面左下角语言切换,将console界面切换为英语,可以解决此问题。

登录到实例后,先安装开源网盘软件NextCloud,运行命令:

wKgZomUmQZqAKm_0AAAXGXQnjM0124.png

安装完毕后会提示“nextcloud 22.1.1snap2 from Nextcloud✓ installed”,软件安装完成,需要配置用户名和密码,使用以下命令,其中xiayan替换为您的用户名,passw0rd替换为您的密码:

wKgaomUmQZqAO1VAAAAkTpkmj5U619.png

配置完成后,会显示“Nextcloud was successfully installed”。现在需要来配置信任域,如果要使用IP来访问网盘,那么下面命令“value=”后面写入刚才配置的弹性IP,如果有自己的域名,后面会使用域名访问,那么下面命令“value=”后面写入您的域名,并将您的域名指向刚才配置的弹性IP。

wKgaomUmQZuAP5Z-AABG8TpDhZI801.png

现在可以用浏览器打开刚才的IP地址或域名,注意使用http,如果浏览器打开失败,可以尝试输入完成的地址,http://加上IP地址。用刚才配置的用户名密码登陆。但目前界面为英文,可以点击右上角的个人设置,更改语言为中文。

操作指南:配置NextCloud后端存储为S3

目前为止,网盘已经搭建完成,现在使用30G免费EBS作为网盘存储介质。如果需要更大的空间,更好的持久性,可以配置网盘利用S3进行存储。点击右上角个人设置,选择“应用”,在“已禁用的应用”中找到External storage support,点击“启用”。

创建一个S3存储桶。创建存储桶后,还需要创建一个iam user。点击左上的服务,选择IAM。点击左侧“用户”,然后点击“添加用户按钮”。输入一个用户名,在访问类型选择“访问密钥”。

在添加权限时,选择“直接附加现有策略”,然后在筛选策略中输入“s3”,勾选”AmazonS3FullAccess”。

后面不用做更改,直接下一步至用户创建。提示用户创建成功后,会显示“访问密钥ID”和“私有访问密钥”。请记录下来。

在个人设置里,找到“外部存储”,选择添加存储,选择Amazon S3。

在指定位置填入刚才创建的存储桶名称,存储桶所在区域代码,应确保S3和EC2实例在同一区域,否则会有额外费用。另外也需要填入刚才记录的访问密钥ID”和“私有访问密钥”,点右侧的对勾,如果添加成功,左侧会有绿色圆形图标提示,如下图:

wKgZomUmQZuAK-yAAACFvjdS8iI240.png

可以在网盘列表中找到新建的AmazonS3目录,存在此目录的文件是放置于S3之上,拥有11个9的持久性。

结论

至此基于Graviton2和S3免费套餐的私有网盘就已经搭建成功了。NextCloud有桌面版,安卓版以及iOS版本的客户端,可以用于同步备份,也有强大的多用户系统,可以多人协同工作和共享,也能和wordpress等很好集成。本文只是做了抛砖引玉,还有很多提高的地方,比如配置CloudFront CDN加速网盘的访问,CloudFront也有50GB的免费套餐。也可以将网盘配置为https,访问更为安全。

在EC2实例主机之外,亚马逊云科技Amazon Lightsail也是非常实用的环境搭建选择,可以提供易于建立的虚拟服务器(VPS),在几分钟内启动网站、Web应用程序或项目,整体效率不断攀升。并且可以通过Amazon Lightsail控制台或API管理实例,更加便捷。

您还可访问官网,了解在生成式人工智能时代下,亚马逊云科技新推出的Amazon CodeWhisperer,这一工具通过生成式AI的技术和方式,帮助开发者更快的完成更多工作,自信地进行编码,但代码安全性也没有落下,Amazon CodeWhisperer会自动扫描你的代码以检测难以发现的漏洞。最重要的是开发速度直线提升57%,成功的可能性增加27%,工作效率得到巨大飞跃。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 亚马逊
    +关注

    关注

    8

    文章

    2480

    浏览量

    82374
  • 云服务器
    +关注

    关注

    0

    文章

    408

    浏览量

    12565
  • ec2
    ec2
    +关注

    关注

    0

    文章

    6

    浏览量

    2293
收藏 人收藏

    评论

    相关推荐

    通过STM32+ESP8266 Wifi模块 +服务器,做一个数据收发控制的板子服务器方面该如何选择?

    通过STM32+ESP8266 Wifi模块 +服务器 做一个数据收发控制的板子 服务器方面该如何选择?
    发表于 04-25 08:16

    如何远程登录服务器?登录失败是什么原因?

    我用Linux服务器,遇到了有关远程登录的一些问题,于是搜索了一些资料,整理了一篇文档,作为记录。如果你也遇到过 相似的问题,欢迎一起探讨! 一、Linux服务器的远程登录 远程登
    发表于 02-01 15:32

    一文了解亚马逊云科技云服务器面向macOSAmazon EC2 M1 Mac实例

    、可扩展性和可靠性。Amazon EC2 M1 Mac实例首次在亚马逊云科技上实现了原生Arm64 macOS环境,用于开发、构建、测试、部署和运行Apple设备的应用程序。
    的头像 发表于 10-08 10:38 288次阅读

    亚马逊EC2云端使用Xilinx工具和InTime优化设计

    电子发烧友网站提供《在亚马逊EC2云端使用Xilinx工具和InTime优化设计.pdf》资料免费下载
    发表于 09-18 09:37 0次下载
    在<b class='flag-5'>亚马逊</b><b class='flag-5'>EC2</b>云端使用Xilinx工具和InTime优化设计

    【开源】4G_Lora远程氨气监测之【4G接入Mqtt服务教程】

    功能概述: 参考本文档可实现将传感采集到的数据信息,以 Json 格式通过 Mqtt 传输给远端的服务器。 Json 消息包含内容如下: Json对象 描述 类型 单位 值域 Ui
    发表于 06-26 10:04

    【开源】4G_Lora远程硫化氢监测之【4G接入Mqtt服务教程】

    功能概述: 参考本文档可实现将传感采集到的数据信息,以 Json 格式通过 Mqtt 传输给远端的服务器。 Json 消息包含内容如下: Json对象 描述 类型 单位 值域 Ui
    发表于 06-25 15:06

    全新亚马逊EC2 M7a实例使用第四代AMD EPYC处理器

      —基于第四代AMD EPYC处理器的全新亚马逊 EC2 M7a实例预览— —亚马逊EC2 M7a实例提供了性能上的重大飞跃,其计算性能比M6a实例高出50%,并为
    的头像 发表于 06-20 11:35 514次阅读

    【开源】4G_Lora远程光照监测之【4G接入MQTT服务教程】

    功能概述: 参考本文档可实现将传感采集到的数据信息,以 Json 格式通过 Mqtt 传输给远端的服务器。 Json 消息包含内容如下: Json对象 描述 类型 单位 值域 Ui
    发表于 06-14 10:15

    【开源】4G_Lora 远程紫外线监测之【4G接入Mqtt服务教程】

    功能概述: 参考本文档可实现将传感采集到的数据信息,以 Json 格式通过 Mqtt 传输给远端的服务器。 Json 消息包含内容如下: Json对象 描述 类型 单位 值域 Ui
    发表于 06-13 10:29

    【开源】4G_Lora远程风速监测之【4G接入Mqtt服务教程】

    功能概述: 参考本文档可实现将传感采集到的数据信息,以 Json 格式通过 Mqtt 传输给远端的服务器。 Json 消息包含内容如下: Json对象 描述 类型 单位 值域 Ui
    发表于 06-12 09:44

    【开源】4G_Lora远程雨量监测之【4G接入MQTT服务教程】

    功能概述: 参考本文档可实现将传感采集到的数据信息,以 Json 格式通过 Mqtt 传输给远端的服务器。 Json 消息包含内容如下: Json对象 描述 类型 单位 值域 Ui
    发表于 06-09 10:25

    【开源】4G_Lora远程水质监测(COD)之【4G接入Mqtt服务教程】

    功能概述: 参考本文档可实现将传感采集到的数据信息,以 Json 格式通过 Mqtt 传输给远端的服务器。 Json 消息包含内容如下: Json对象 描述 类型 单位 值域 Ui
    发表于 06-07 10:10

    【开源】4G+GPS+温湿度接入Mqtt服务教程

    功能概述: 参考本文档可实现将温湿度信息、 GPS 定位信息(经度,纬度,UTC 时间),通过 Mqtt 传输给远端的服务器。发送的 Mqtt 消息 Json 字符串形式举例如下: 如果
    发表于 05-31 12:27

    【开源】4G+GPS+温湿度接入TCP服务教程

    功能概述: 参考本文档可实现将温湿度信息、 GPS 定位信息(经度,纬度,UTC 时间),通过 TCP 传输给远端的服务器。发送的 TCP 消息 Json 字符串形式举例如下: 如果
    发表于 05-31 12:26

    【开源】4G远程GPS定位 之 【4G+GPS 接入Mqtt服务教程】

    功能概述: 参考本文档可实现将温湿度信息、 GPS 定位信息(经度,纬度,UTC 时间),通过 Mqtt 传输给远端的服务器。发送的 Mqtt 消息 Json 字符串形式举例如下: {\"
    发表于 05-30 11:59