立即注册  找回密码
 立即注册
CeraNetworksBGVM服务器主机交流会员请立即修改密码Sharktech防护
查看: 5|回复: 0

200M轻量+对象存储实现低成本文件中转站

[复制链接]

200M轻量+对象存储实现低成本文件中转站

[复制链接]

39

主题

27

回帖

331

积分

中级会员

积分
331
803

39

主题

27

回帖

331

积分

中级会员

积分
331
前天 01:55 | 显示全部楼层 |阅读模式
本帖最后由 803 于 2025-1-21 01:57 编辑

1. 简介

近日,腾讯云上架了200M轻量应用服务器(锐驰型轻量),不仅大碗,而且不限流量。国内2核2G运存,200M三网BGP宽带的服务器每月仅需45元,这在以往是令人难以想象的价格,腾讯云目前正在派放3.5折的轻量服务器续费优惠券,结合使用,上述配置每月仅需约16元。

2. 正文

2.1 可行性分析
2.1.1 环境可行性
自从恢复省间/跨网流量结算以来,本就岌岌可危的互联环境更是雪上加霜,为了打击PCDN等行为,运营商正在加速收回家庭宽带的公网IP,这使得很多家庭NAS变得不可用。此时我们需要内网穿透等手段才能正常访问,我们也可以选择上云方案,将程序部署在服务器。而无论如何,都需要一个具有公网IP的服务器,物美价廉的轻量应用服务器便成了我们的首要选择。

2.1.2 技术可行性
本次轻量服务器提供了不限流量的200M高速宽带,而对象存储可以挂载到服务器本地,为我们提供了可无限扩展的存储空间,而腾讯云对同一区域的业务提供内网访问能力,我们可以通过服务器的内网读写对象存储,也就是说我们可以访问服务器,并在服务器内网中读取并下载对象存储的文件,整个过程是完全不消耗流量的,技术上完全可行。

2.1.3 经济可行性
为什么在开篇强调200M宽带呢?在此之前我们能在国内接触到的服务器往往都是个位数宽带的“小水管”,它们仅适合个人网站搭建,对于文件传输而言实在是捉襟见肘,曾经稳定的国内大宽带是我们遥不可及的存在,个人很难承担如此昂贵的价格。
而且个人用户对于服务器宽带的使用率比较低,大多数人都只是突发需求,因此价格才是我们考虑的第一要素。腾讯云本次推出的200M轻量套餐,让大厂+大宽带+低价成为可能,云服务中流量成本是最高的,而上述一套“组合拳”,全程不产生付费流量,因此在经济层面是完全可行的。

2.2 运行环境介绍
工欲善其事必先利其器,在正式使用之前,我们先进行基础的环境搭配,由于CentOS系统早在去年正式停止维护,不在推荐大家使用,本文我们使用同为Linux发行版的Debian12进行演示。

本项目所需底层服务包括腾讯云锐驰型轻量服务器、对象存储(COS),使用腾讯云DNSPOD完成域名解析,软件方面使用宝塔面板管理运行环境,使用Github开源项目FileCodeBox完成程序部署。

2.3 开通必备服务

2.3.1 购买锐驰型轻量服务器

本文采用南京区域的“2核2G内存”套餐,首先在控制台完成购买,操作系统选择Debian12,设置我们想要的密码




在完成购买后,记得在安全组开放端口,因为默认是只开放个别常用端口,而我们的面板和程序都需要非常用端口,这里为了方便我们选择全部放行:




2.3.2 开通对象存储桶

完成服务器的购买后,我们前往对象存储板块,开通对象存储服务,地区选择南京:




2.3.3 新建腾讯云密钥

后续我们将对象存储的空间挂载到服务器本地磁盘,需要通过API进行管理,所以我们首先创建API密钥,为了安全起见,我们只给后续软件读写对象存储的权限,因此我们需要通过子账户的API操作后续功能。

我们首先从腾讯云控制台右上角进入“访问管理”,点击用户列表新建一个子用户,这里可以选择快速新建。

输入自定义的子账户名后,点击列表中的用户权限编辑图标,取消默认的AdministratorAccess,选择授予QcloudCOSFullAccess策略,这样就可以创建一个只能访问对象存储的子账户。





而后在用户列表点击我们刚刚创建好的子账户,点击API密钥标签,新建一个密钥,这里一定要保存好,因为API密钥仅在创建时展示,后续遗忘或丢失,只能重新创建新的密钥。





2.3.4 添加DNS解析(可选)

后续我们希望通过域名访问服务,所以在完成服务器购买后,我们可以使用DNSPOD预先给对应IP分配一个子域名,注意国内服务器需要绑定北岸过的域名,如果你不想,也可以通过IP地址+端口号的形式访问(如1.2.3.4:8888)。

2.4 安装运行环境

2.4.1 安装宝塔面板

我们访问宝塔面板的安装页面,根据提示完成面板安装。
面板官方链接:https://www.bt.cn/new/download.html

安装命令:
[ol]
  • if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec[/ol]复制代码
    输入指令后在SSH窗口输入“y”开始安装




    完成安装后根据返回信息进入面板,此处可根据个人喜好调整组件,一般推荐“LNMP”组合。




    2.4.2 安装对象存储插件

    宝塔面板与腾讯云深度合作,定制了一系列的功能插件,我们可以通过COSFS插件将开通的腾对象存储挂载到服务器本地磁盘,对其直接进行读写。
    然后在插件配置界面输入我们预先出创建好的子账户的API密钥,其中appid可以在主账号的账号信息中查询。
    完成输入后在列表选择刚刚创建好的对象存储,点击挂载就可以了,于是我们就可以看到对象存储已经成功挂载到本地,之后的读写操作就合并本地磁盘没有区别。

    完成挂载后,我们在文件模块,前往挂载的根目录,新建一个名为share的文件夹,后续会用到。

    2.4.3 安装Docker软件
    宝塔面板包含Docker模块,为我们提供了可视化管理Docker的能力,免去了手敲代码可能带来的错误,这里我们使用默认安装方式即可。

    2.4.4 安装程序
    我们前往Docker的线上镜像板块,搜索“FileCodeBox”。





    我们可以先拉取镜像,然后在本地镜像中创建容器。






    容器名称随便填写,为了方便外部访问,暴露对应端口,然后点击更多设置,将刚刚挂载好的对象存储路径/www/cosfs/file - box/share(路径只是示例,实际以你的为准)填写到挂载目录,然后容器目录为/app/data/share,这个是固定的不能修改,因为程序的存储路径是写死的。
    然后点击创建就大功告成了,其他参数由系统自动填写。

    2.5 测试运行

    2.5.1 访问主页
    而后我们打开服务器ip:端口号即可访问,如1.2.3.4:12345,其中1.2.3.4替换为你的服务器IP,12345为暴露出去的端口号。





    2.5.2 进入后台
    而后我们访问如下地址进入后台管理界面:
    http://ip:端口号/#/admin





    根据官方文档提示,默认密码为:FileCodeBox2023,大家进入后台一定记得先改密码,然后也可以更改上传条件配置。

    2.5.3 上传文件
    点击上传文件按钮,选择文件后开始上传。





    上传完成后,页面会返回一个提取码,我们可以通过二维码进行分享,也可以在上传历史中找到已经上传过的文件。

    2.5.4 下载文件
    打开页面输入提取码,或者使用浏览器扫描二维码,即可成功提取文件,然后开始下载,可以看到无论是上传还是下载都如飞速一般。





    3. 总结
    至此本文告一段落,依托腾讯云+宝塔插件的整合能力,搭建过程快速方便,但是要提醒大家,虽然是200M不限流量的服务器,但我们不可用滥用噢,宽带成本如此高昂,稳定高速的前提是大家都合理共享宽带。

    整个程序本质上还是个半成品,不过基本功能都有了,由于网上找不到令我满意的相关程序,我计划自己开发一个更完善的文件分享系统,如果不忙的话,26年之前应该会完成(当然有意外情况或者我懒就咕咕咕了),届时我会继续和大家开源分享,大家有什么功能需求也可以留言,我在开发时会考虑到。

    4. 参考内容
    4.1 本文所需程序

    4.1.1 宝塔面板
    https://www.bt.cn/new/download.html

    4.1.2 FileCodeBox
    https://github.com/vastsa/FileCodeBox
  • 本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|小黑屋|HS2V主机综合交流论坛

    GMT+8, 2025-1-23 09:18 , Processed in 0.014627 second(s), 3 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表