个人向非企业,基于目前主流图床的选购指南

news2025/1/12 3:52:23

1. 为什么需要搭建自己的图床

最近研究了一下国内外比较主流的图床与对象存储,因为个人写作更加偏向于使用Markdown,而国内很多平台如掘金,简书,csdn等等网站都做了相关的防盗链,即使是我为作者本人,想取用之前的文章截图都默认加上了水印,虽然肯定是有方案去做迁移的,比如说这个月初51CTO找到了我QQ号,并给了一个搬迁网址,我只要填完便可以拿到一些小奖品,不过我不太感兴趣(主要礼太轻,emmm,不如搬华子冲一波freebud3),我主要写博客是有当笔记来用,所以,自然而然,我就想到搭建一个属于自己的图床。

2. 为什么选择了硅云

其实这个不是最具有性价比的一个选择,不过整体而言,对我来说却是最省时间成本的一个方案。当时是冲浪的时候无意刷到的,看到香港一型3年的VPS只要159元,虽然是共享带宽的,但我并没有搭网站的想法,意义不大,域名几年前就过期了,真搭起来了,前期没有高qps的话,5M完全绰绰有余,况且我现在搭的个人book正挂载在gitpage上,已经长草了,没时间维护,emmm,之后可以再开一期gitpage搭建指南,所以我买来最多搞点科学工具,以及小实验。

硅云的首页上有说明,购买VPS后,除com后缀外,其它域名免费送一年,我大概算了一下,发现整体还行,后续再续费,全部费用也在200块以内,主要后台和域名的控制面板做得不错,就顺势加入了:

image-20230618204508947

在域名和VPS都有了做了相关解析后,就可以此为跳板,去配置七牛云的云存储与cdn,不过因为我域名没有备案,所以在七牛云上只能走东南亚的bucket,但自我体验来看,基本和国内的速度是一样的,相比于github图床,那可快太多了,特别是网络抽风的情况下。

image-20230618210632347

3. 为什么不是国内厂商

3.1 七牛云

  • 有免费额度,但国内服务需要域名备案,手续麻烦
  • 之后每年都需要进行审核,流程未知

其实我这也算用的国内厂商七牛云,它的好处是有10G的免费额度,这也是我上面绕了一圈最后挂回来的原因,如果超过了,它内部一直在活动周期,我这种小图床业务,一年不会超过10块钱,缺点就是若买的国内云,域名解析是需要备案的,根据我之前两次备案经历,这个时间在一个礼拜到一个月之间不等,中间还需要邮寄材料,特别是我第二次备案,因为由阿里云转到了腾讯云,根据腾讯云官方当时回复我的意思,是说我的个人备案主体还在某局档案袋里,需要写纸质材料,一式三份去取消,我的新域名才能备案成功,我听完瞬间就不想搞了,于是花了70多在毕业前买的三年域名,好像就用了几个月,一直到过期。。。另外,备案过了每年还需要审核,还有一堆的流程问题。但我现在买的海外服务器,那这些基本就跟我没有关系了,emmm

3.2 阿里云

  • 价格太贵,不是平民价格,档位只适合中大型网站
  • 计费项太多,很难选择

阿里云在很早之前好像还有免费额度用,我是看后台还存在 4.33G 计费容量,顺带变为了欠费账单,但我去查询request id,并没有显示该服务有欠费,不知道啥情况,大概要提工单问一下,这斗很久前了,目前已经不用,现在再去看一下目前的价格,最低档的下行流量,买一年的价格如下图:

3.3 腾讯云

  • 有平民档选择,计费项更加复杂,同样也没便宜到哪里去

腾讯云相对而言要好一点,但计费项太多了,根本不知道如何做选择,不过相比于阿里云来讲,我同样选择的外网下行流量,便宜了50块,并且更低档能到10G,相比较下,更加人性化,虽然还是很贵。

image-20230618213925797

3.4 gitee

  • 一个仓库只能限制500M空间,一张图1M,也就只能存500张,可单图限制好像是在500kb以内
  • 2022年3月已经停止外链服务

这是我最开始的方案,可我搭建完才发现好像已经用不了了,大致的一个日志为:

2023-05-28 15:47:30 [PicGo INFO] [PicGo Server] is listening at 36677 
2023-05-28 16:40:44 [PicGo SUCCESS] 插件安装成功 
2023-05-28 17:02:31 [PicGo INFO] Before transform 
2023-05-28 17:02:31 [PicGo INFO] Transforming... Current transformer is [path] 
2023-05-28 17:02:31 [PicGo INFO] Before upload 
2023-05-28 17:02:31 [PicGo INFO] beforeUploadPlugins: renameFn running 
2023-05-28 17:02:31 [PicGo INFO] Uploading... Current uploader is [gitee] 
2023-05-28 17:02:32 [PicGo INFO] [上传操作]异常:Request failed with status code 403 
2023-05-28 17:02:32 [PicGo SUCCESS] 
 
2023-05-28 17:02:53 [PicGo INFO] Before transform 
2023-05-28 17:02:53 [PicGo INFO] Transforming... Current transformer is [path] 
2023-05-28 17:02:53 [PicGo INFO] Before upload 
2023-05-28 17:02:53 [PicGo INFO] beforeUploadPlugins: renameFn running 
2023-05-28 17:02:53 [PicGo INFO] Uploading... Current uploader is [gitee] 
2023-05-28 17:02:53 [PicGo INFO] [上传操作]异常:Request failed with status code 403 
2023-05-28 17:02:53 [PicGo SUCCESS] 

然后去知乎上翻了一下,果然有这问题,我只能说,懂得都懂,这个时间节点,正好是国内特色的整改。

image-20230618221731649

3.5 其它

本节我将csdn、简书、掘金以及微信公众号等都统称为外部图床,即也可以作为保存图像的地方,但要受很多的限制,比如说现在各家都在搞竞价,水印直接说加就加,我都不知道的情况下,就对所有文章图像进行了升级加密,导致本来之前可以直接将csdn文章转微信公众号的途径多了一层水印,虽然影响不大,只是观感差了点。

4. 为什么不是国外厂商

4.1 CloudFlare R2

https://dash.cloudflare.com/

  • 有免费的存储额度,免费的服务器,以及免备案与审核
  • 需要visa或者银联卡绑定R2计划

不管有没有听说过cloudFlare,应该都看过如下界面:

Cloudflare_preview

类似的画面,主要判断进入网页的该用户是否为真人,如果是的话,就是验证通过或者success!框中的云朵图就是cloudflare的标志。

与国内七牛云一样,它同样是有免费额度,计费方式为:

永久免费超出部分/月费
存储10 GB/月0.015 美元/GB
A 类操作100 万次/月4.50 美元/百万次
B 类操作1000 万次/月0.36 美元/百万次

这价格相比于其它厂商已经很便宜了,加上它的免费服务器,整体性价比拉满,但限制是加入R2 project需要银联卡,那时候我刚申请,卡还没到我手上,计划是当天下午就做好图床,就没有再考虑了,不过后来卡到了后也是马上申请了,因为它并不需要预付款,而是验证通过即可,所以我卡里没有钱,也是一样的,如下图所示:

image-20230622161744820

若是加入了R2后,第一步就是添加website,域名可以在国内或国外购买。我浏览了一圈 https://www.namesilo.com ,可能物价不太一样,无法对比,如果直接换外汇的话,价格也还行,top域名是我预先已在国内换了,所以下图中没有再显示,以xyz后缀为例,我Add后,它里面还能再减少1.35刀,那入手的话就是1刀左右。这作为一年是不亏的:

image-20230622200350371

4.2 Vista panel

http://51server.top/?i=1

如果说还有什么比cloudflare更强大或者白嫖的存在,那我觉得可以是Vista panel,它是由托管经销商专门设计提供免费托管服务的平台,它的牛逼之处我无法用语言去形容,直接给出如下截图:

image-20230622202354775

该平台注册账号不需要绑定银行卡或者任何有关于钱的信息,注册成功后即会弹出所有它所分配资源的账号密码:

image-20230622202811890

可以从上述图右边的static看到,该平台实现了它进首页的承诺:

  • 10GB 云存储和100GB 带宽
  • 每个帐户主机多达10个网站
  • 10个 MySQL 数据库、 FTP 和电子邮件帐户
  • 24/7监控及防火墙保护
  • 免费的网站建设者和自动架站
  • 易于使用的控制面板

太牛批了,只能说,我简单总结下就是,拥有的免费资源为:5个域名,10个数据库,10G存储,无限流量,1个FTP账号。这些因为都是为了搭建个人站所准备的,所以搭建个人博客等服务简化到不需要考虑LNMP (Linux+Nginx+MySQL+PHP),只需要鼠标点击下面的Apps Installer:

image-20230622204628661

点击后,选择blog下方的WordPress,然后进行install now:

image-20230622210424882

紧接着会弹出相关配置项,与正常WordPress一样,填完即开始建站,根据自己的喜好先选一个主题,觉得不好看,后续应该可自定义更换源码。这里就不再演示,配置如下图所示:

image-20230622210639621

但最终我为啥没用该方案呢?主要与从小被训练大的价值观不符,以及经历。难以置信完全免费给出所有资源,并没有期限,我表示出怀疑,然后找了半天bug,最终让我打消念头的是它给的一个二级域名,虽然我把该域名丢七牛云测试了一下,发现是可以申请存储空间的,加上它本来的10G,那就是20G。只是感觉,少了一丝扩展性,我就没用,emmm。。。

事实上偏小白的话是可以尝试的,省了非常多时间,如果是要求扩展,又对搭建东西有比较高要求,就不太推荐全web端操作,我上面没有找到很明显的问题,是因为没有再继续深入,一般完全靠网页上点击就想解决所有难题是不现实的,网站的SEO算法、流畅度、插件自定义优化等等,都还是得深入代码底层。

4.3 github

  • 除了网速,其它都是神中神

没啥好说的,git缺点就是不稳,每年由于某原因,出现那么几个月上传极慢,其余时间也时不时抽风,如果能忍受网络时停的bug,那就是非常完美的图床,比如说我用其搭建了一个公开笔记挂载到gitpage:submarineas.github.io/te_learning/#/

5. 能完全自己搭建图床嘛

这个标题想表达的意思是,完全利用手头现有资源,不去关联第三方平台,能搭建起图床嘛?答案当然是可以。现有的资源,就是多余的手机 or 电脑。

电脑如何操作,简单概括下,可以用win下自带的服务器IIS,也可以刷成Linux,然后最简单的方式,就是做一层文件映射,比如说安装一个nginx文件代理,但这肯定得限制为内部使用人员,当然方法也很简单,比如说加白名单,以及限制token:

location / {
    root   /usr/share/nginx/html;
    index  index.html index.htm;
    allow  10.0.20.4;
    deny all;
}

# token 不等于 submarineas,返回403
if ($http_token != "submarineas"){
   return 403;
}

策略还有很多,不过走了内网,还是得留出一个端口,或者cdn去转成公网,这样换算一下反而时间开销很大,有点得不偿失。所以如果本身IP已经在公网的服务器,想做图床这种对象存储,比如说minio,在下篇推文中我会讲到。

那若是换成手机,操作基本跟电脑端一样,以下为几个可以参考的工具:

  • Linux Deploy

    https://github.com/meefik/linuxdeploy

    Linux Deploy 是一个在 Android 上运行的 chroot 容器。使用 Linux Deploy,通过简单的操作,可实现运行 Debian/Ubuntu 等多个流行的 Linux 发行版本。支持的发行版本为:Debian、Ubuntu、Kali Linux、Arch Linux、Fedora、CentOS、Gentoo、Slackware、RootFS (tgz, tbz2, txz)

  • Busybox

    https://github.com/meefik/busybox

    BusyBox 是一个集成了三百多个最常用Linux命令和工具的软件。BusyBox 包含了一些简单的工具,例如ls、cat和echo等等,还包含了一些更大、更复杂的工具,例grep、find、mount以及telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀。简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令,也包含了 Android 系统的自带的shell。

  • ADB工具(测试端口)

    https://www.coolapk.com/apk/crixec.adbtoolkitsinstall

    adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。

当然,如果想要更简单,也可以不从源码角度,安卓同样有做好了集成化的软件,如KSWEB:

http://kslabs.ru/

  • 目前为止,手机端搭建web服务器最好用的软件是Ksweb

  • 是一款俄罗斯人开发的基于安卓系统的web服务器,集成了php、Nginx、MySQL、Apache、FTP等

可以参考如下官网截图:

image-20230624112904363

跟上面的Vista panel类似,但它是安卓的版本。这里有一个难点,搭建对于感兴趣或者说技术比较强的人那是很快的事情,部署好后应用只是位于局域网,也就是说,我们需要一个公网IP才可以在任意地方上传截图或者视频等任务,不过近几年公网IP很难再跟运营商申请到,不仅仅是IPv4地址的短缺,也存在待价而沽的现象,另外很多家用网络,目前用的都是动态生成IP,会随时切换,如果想转成静态,我最近去了解了一下,一个月的价格都不低,所以,只能走另一种通道。

当时考虑这个的时候,正好看到一个群里有人讨论,结论是映射IPv4不行,那可以直接映射到IPv6。具体做法我还不是很清楚,但查找了些资料,如果说路由器以及当前开通的网络支持的话,可以进http://test-ipv6.com/直接测试,如下图所示:

image-20230624115312788

当然,我的网络很垃圾,我也没考虑升级,住处不稳定,能用就行,只是作为一个比方,如果这里测试全部通过,那么看起来就可以通过直接去路由器后台设置相关映射,而像我一样如果检测没通过,我看到依然可以做映射,但就是最好刷机成Linux,需要一定的技术去实现了,本篇该节点到为止。

6. 使用PicGo上传图片到七牛云

一般七牛云创建完bucket后,都会在个人中心的密码管理中默认创建一对 AccessKey/SecretKey

image-20230624121227799

然后加上bucket的名字以及创建的区域,与绑定的域名,就构成了PicGo需要的信息,比如我设置的as0为东南亚专用区域:

image-20230624121620450

点击确定,并设置为默认图床,测试上传一张图片,如果转化成了所设置域名前缀的格式,那就代表着没有问题了,最后,当然也可以再将picgo带入typora中,同样更为简单:

image-20230618203648461

7. 总结

本篇推文我总共分为了三个大章,分别介绍了国内外第三方图床业务,以及如何自己手动搭建一个类图床应用,这里的一个优先级是,如果对该技术非常感兴趣,不怕会遇到很多的bug,推荐去自己手动搭建一个图床并部署于公网上,这是最具性价比,可以说零成本,但所需时间可能最多。而如果有科学工具,银联卡等需要花时间办理的东西,推荐使用国外的第三方服务,性价比也极其高,顺带学习英语。最后,如果想快速搞定图床业务,可以选择我的方式,但我写这篇的时候,已经过了618降价,如果考虑国内第三方的话,也还可以,就是多花了一些钱财,但cdn加速等等,肯定是更加快的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/679852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言里面那些你必须知道的常用关键字(详细讲解)

前言 哈喽,各位铁汁们好啊!✨今天来给大家带来的是C语言中我们常用的关键字静态static的详细讲解和typedef 、#define定义常量和宏。   既然是详解想必大家必定是想学一些平常学不到的东西吧!这里博主给大家详细讲解static修饰的变量在内存…

2023最全的Java架构师面试120题解析(MySQL/Redis/架构/高并发等)

最全架构师题目将包含如下技术范围: 1.Java基础和高级: 集合框架: List:ArrayList、LinkedList;Set:HashSet、TreeSet Map:TreeMap/ConcurrentHashMap;Queue:ConcurrentLinkedQueue等 泛型、反射、并发编程、JVM、A…

基于Smb协议实现网络文件传输(Golang)

在前面章节已经展示了一些关于SMB的基本介绍,以及对应SMB相关操作的Java实现,这一章主要是前一章的补充,使用Golang来对 SMB共享文件夹进行操作。如果没有阅读过上一章节的同学,请跳转到 基于Smb协议实现网络文件传输,…

Axure教程—折叠面手风琴效果

上文中介绍了用Axure制作折叠面板的基础制作,这次介绍折叠面板手机风琴效果 效果 预览地址:https://e18rf6.axshare.com 功能 点击标题展开内容,点击另一标题,其展开的内容折叠 制作 拖入四个动态面板,分别命名为1、…

PHP流程控制与文件包含:基础与关键要点

目录 PHP流程控制 顺序结构: 分支结构: Switch分支: PHP循环结构 for循环 while循环 do-while循环 while和do-while的区别: 循环控制 流程控制代替语法 PHP文件包含 PHP文件包含的作用 PHP文件包含的四种形式 PHP文…

【spring cloud学习】3、Eureka Server注册中心

Eureka本身是Netflix开源的一款注册中心产品,并且Spring Cloud提供了相应的集成封装。选择Eureka作为注册中心实例来讲解是出于以下原因: (1)Eureka在业界的应用十分广泛,整个框架经受住了Netflix严酷生产环境的考验。…

Qt中的信号和信号槽(一)

目录 1. 信号和槽概述 信号和槽的关系 2. 标准信号槽使用 标准信号/槽 示例: 3. 自定义信号槽使用 自定义信号 自定义槽 示例: 1. 信号和槽概述 信号和槽是一种事件驱动的通信机制,广泛应用于Qt框架的事件处理、GUI编程、网络通信等…

如何在教育与科研领域使用ChatGPT

ChatGPT提示是您给予ChatGPT的一系列指示,以便它能够按需生成结果。由于ChatGPT是一种会话型人工智能,因此它需要明确的指示才能生成准确的结果。 ChatGPT提示的结构通常是以指令格式呈现的。它看起来像是您在与AI交流,给予它执行特定任务的…

基于树莓派4B的OpenCV安装与简单应用(真速通版)

前言:本文为手把手教学树莓派4B的OpenCV安装与简单应用(真速通版本),树莓派4B最为目前最新款的树莓派家族一员深受创客和开发者喜爱。树莓派4B作为一款搭载 Cortex-A72 系列芯片的板载电脑,其不仅可以作为简单的 MCU 进…

第三方库介绍——Protobuf库(更高效的协议)

文章目录 protobuf综述传输协议与指令创建协议编译协议介绍addressbook.pb.h文件序列化与反序列化的接口 利用soctet实现客户端与服务端传输协议Linux(Ubuntu)安装protoc步骤编写案例代码Cartoon.prototcpsocket.hMyTcpsocket.hclient.cppserver.cppCMak…

01.4进程原理和系统调用--->经典的CFS调度器

进程的一些正常状态 什么是进程 操作系统作为硬件的使用层,提供使用硬件资源的能力,进程作为操作系统使用层, 提供使用操作系统抽象出的资源层的能力。 进程:是指计算机中已运行的程序。进程本身不是基本的运行单位,…

【微服务】springboot 通用限流方案设计与实现

目录 一、背景 二、限流概述 2.1 dubbo 服务治理模式 2.1.1 dubbo框架级限流 2.1.2 线程池设置 2.1.3 集成第三方组件 2.2 springcloud 服务治理模式 2.2.1 hystrix 2.2.2 sentinel 2.3 网关层限流 三、常用限流策略 3.1 限流常用的算法 3.1.1 令牌桶算法 3.1.2 …

2023最新Java面试八股文汇总(五十万字总结版)

写在前面 今年的疫情,让招聘面试变得雪上加霜。已经有不少大厂,如腾讯、字节跳动的招聘名额明显减少,面试门槛却一再拔高,如果不用心准备,很可能就被面试官怼得哑口无言,甚至失去了难得的机会。 现如今&a…

<Linux开发>驱动开发 -之- Linux RTC 驱动

<Linux开发>驱动开发 -之- Linux RTC 驱动 交叉编译环境搭建: <Linux开发> linux开发工具-之-交叉编译环境搭建 uboot移植可参考以下: <Linux开发> -之-系统移植 uboot移植过程详细…

Dubbo【 Dubbo概念(什么是分布式系统、什么是RPC、核心组件、Zookeeper注册中心 )】(一)-全面详解(学习总结---从入门到深化)

目录 Dubbo概念_什么是分布式系统 什么是分布式 Dubbo概念_什么是RPC Dubbo概念_简介 Dubbo概念_核心组件 Dubbo配置开发环境_Zookeeper注册中心 Dubbo配置开发环境_管理控制台 Dubbo入门案例_需求介绍 Dubbo入门案例_配置开发环境 Dubbo入门案例_服务生产者配置…

VLC-QT源码编译(Windows10+VS2020+MSVC20019+QT5.15)

参考VLC-Qt的编译与使用 windows10VS2019qt5.15 下载源码 VLC-QT https://github.com/vlc-qt/vlc-qt可以通过git或者直接下载ZIP文件,但是里面的libvlc-header和packaging没有下载下来,需要再自行下载。 VLC https://download.videolan.org/vlc/las…

行为型模式--备忘录模式

目录 概述 结构 案例实现 “白箱”备忘录模式 总结: “黑箱”备忘录模式 优缺点 优点: 缺点: 使用场景 概述 又叫快照模式,在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这…

zeromq的学习笔记

ctx_t 在创建ctx_t时,会设置以下参数 _io_thread_count io线程数默认是1 _max_sockets最大socket数是1023 _starting标识设置为true,此时socket还没有创建 _terminating设置为false,在调用zmq_ctx_term时该标识会设置为true _tag设置为ZMQ_CTX_TAG_VALUE_GOOD&…

mySql和VSC++

确认主机服务里的mysql服务已打开 使用组合键“winR”运行“services.msc”,进入本地服务窗口; 2.进入本地服务窗口后,在右侧服务列表中,查找到“ mysql ”服务选项; 3.查找到mysql服务选项后,双击打开mysq…

C++ 面向对象(3)——重载运算符和重载函数

C 允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。 重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。 当您调用一个重…