前言
因为涉及到对象存储自建图床的方法,所以提前说一下相关的收费问题,可以说大部分使用各大平台提供的对象存储进行的搭建都是要收费的,这里的收费指的是用到的存储空间以及图片的请求还有访问的流量等等。
简单的说就是你上传存储100M的图片,那么收的费用就是100M的存储费(当然各大平台基本10G内免费),如果一天24H没人访问100M的图片,那么一天24H你只需要缴纳100M的存储费,如果有100个人在一天24H访问了你这100M的图片,那么一天24H的费用就会变成100人的请求费用+100人×100M的流量费,以及100M的存储费。
有一些平台可能会区分HTTP请求和HTTPS请求,两者分开计费,例如七牛云会每月赠送10GB的流量,但是不包含HTTPS。
关于Github白嫖当做图床在访问速度上对于国内的我们有些不友好,如果使用了
Jsdelivr
这个CDN进行加速的话,可能会违反Jsdelivr
的政策。2020年8月9日Jsdelivr更新了使用政策,其中第四条
## 4. Prohibited Use
有一条规则running an image hosting website and using jsDelivr as a storage for all uploaded images
,这句话的大概意思是作为图站上传图片,这种行为不允许。
但有意思的是,规则中也没说多少张图片算是图站,也没说用在博客的算不算,因此消息一出很多人猜测jsdelivr是不是滥用过度而禁止将其作为图床使用?虽然截止这篇博文写出来的时候,我之前使用这种方式上传的图片仍然能够使用,但考虑到长久使用,我也开始了其他免费图床的尝试。Gitee虽然也能够像Github一样的方式搭建图床使用,但是因为没有CDN为其进行加速,虽然服务器在国内,但是访问速度一般般。
腾讯云会赠送50GB的对象存储空间但是不知道是否有赠送流量,所以我没有使用。
近期加入了又拍云联盟,会赠送一年67元代金券,建立CDN或者云存储等服务都是优先扣除代金券的钱,因此这个使用比较稳当,目前博客的图床使用是又拍云的云存储,同时也用了又拍与你的CDN为博客加速。
又拍云的云存储仅提供测试用的域名,不提供生产使用的域名,需要自己有一个已经做好域名备案的域名
各大平台的对象存储肯定是最稳定的方式,但是费用相对来说是比较高的,而且仅仅是用于博客的话,我个人觉得没必要花费这些钱(不差钱另说)。
公益图床(提供一定量的免费额度,也会有收费套餐,但是免费的额度基本满足博客使用)SM.SM虽然免费,但是访问速度时好时坏,不过也能用,我一开始用的就是SM.SM。
开始
文章会写四个平台,方式大同小异,需要点击跳转即可。
四种方式都是以PicGo这个软件为图床上传工具,因此在搭建图床之前先下载图床上传软件PicGo进行安装。
(关于图床上传工具根据自己喜好下载软件即可,不一定必须是PicGo,我个人比较喜欢这个开发者,因为我以前搭建博客的想法就是看到了这个开发者Molunerfinn的博客才起了念头,这位是个真·大佬,我个人在看他的博客的时候学习到了很多,同时也推荐大佬写的Hexo主题:Melody)
Windows系统:点击下载
macOS系统:点击下载
安装完成后,打开PicGo,然后:1、点击PicGo设置,2、拉到最后的选择显示的图床,勾选我们本次博文中所说的四个图床,可能第一次安装完软件没有显示Gitee图床,具体情况请看Gitee相关章节。
PicGo+Github
创建仓库
登录Github(因为之前写过博客搭建博文有相关内容,这里默认注册并且配置好了),然后在Github首页右上角点击+
,找到New repositories
并点击,进入Create a new repository
,在Repository name
填写图床名称
(我填写的是img),其他默认就行,最后点击Create repository
就完成仓库创建。创建Token
在Github首页右上角点击头像 ,找到Settings
并点击,在页面左下找到Developer settings
,点击进入,然后:1、点击Personal access tokens
,2、点击Generate new token
创建Token,3、Note输入名称(我输入的是仓库同名:img),4、勾选repo然后点击底部的Generate tokens
即可完成Token的创建。
(注意:创建完Token后会生成一串字符Token,这个字符串只会出现一次,请妥善保存,PicGo配置需要用到。)使用PicGo上传图片
Github设置如下:
设定仓库名:格式为Github用户名/仓库名,例如我的:molipre/img
设定分支名:填写:main,2020年10月1日后默认创建的仓库主分支都是main
设定Token:步骤2中保存的字符串
指定存储路径:在新的文件夹中储存,用 / 结尾,例如:img/
设定自定义域名:https: //cdn.jsdelivr.net/gh/用户名/仓库名,这个能够为Github提供免费的CDN加速。
PicGo+Gitee
因为国内访问Github的速度比较慢,PicGo上传图片会经常出现不成功的情况,所以有这方面困扰的朋友就可以考虑一下Gitee用作图床。
创建仓库
登录Gitee(因为之前写过博客搭建博文有相关内容,这里默认注册并且配置好了),点击左上角的+
,接着点击新建仓库
,然后:1、填写仓库名称(我的是img),2、选择公开,3、勾选使用Readme文件初始化这个仓库,其他默认就行,最后点击创建即可。获取私人令牌
在Gitee首页右上角点击头像 ,找到设置
并点击,在页面左下安全设置部分找到私人令牌
然后:1、点击私人令牌
,2、点击右上角+生成新令牌
,3、输入私人令牌描述(我输入的是仓库同名:img),4、只勾选projects然后点击底部的提交
即可完成私人令牌的创建。
(注意:创建完私人令牌后会生成一串字符,这个字符串只会出现一次,请妥善保存,PicGo配置需要用到。)使用PicGo上传图片
注意,该过程需要安装插件,需要你已经安装好了Node.js,这里默认已经安装好了,不懂的话可以查看博客其他文章。
打开PicGo软件,点击
插件设置
,搜索gitee
然后点击安装。
待安装成功,点击PicGo设置
,拉到最后,勾选gitee
。
然后在图床设置
找到gitee
。Gitee设置如下:
repo:用户名/仓库名
branch:master,分支只创建了master
token:步骤2中创建并保存好的私人令牌一串字符
path:在新的文件夹中储存,用 / 结尾,例如:img/
customPath:有四种可选,推荐选年月,当然也可以不选,我自己是不选的
customUrl:自定义网址,个人用户无法更改域名,无需理会
PicGo+又拍云存储
又拍云会有每个月10G的云存储空间,获取方式请先注册账号后加入又拍云联盟。
首先登陆又拍云控制台 ( 没有账号的小伙伴按照提示注册然后再实名认证即可 ) ,接着找到云存储 ( 有账号的小伙伴直接打开这个链接登录即可 ),点击下图中的创建服务。
出现下图页面,按照下面图片中步骤:1、服务名称处输入服务名称(例如我输入是img),2、点击新建授权操作员,3、输入操作员用户名,4、点击生成密码,然后复制密码待用,5,、勾选三个权限,其他默认然后点击创建即可。
防盗链设置(该步骤主要是防止你的流量被恶意程序使用图床链接盗刷)
按照下面图片中步骤:1、点击图1红框中配置进入云存储配置,2、点击图2中红框访问控制,3、找到Referer防盗链,点击红框中的管理,4、选择白名单,选择禁止Referer为空,在Referer框内输入要用图床链接的域名,7、点击确定即可。域名绑定(因为又拍云本身仅提供一个不用于生产而用于测试的域名,因此必须绑定域名才能正常使用又拍云当图床,该步骤需要你有一个已经通过ICP备案的域名)
按照下面图片中步骤:1、点击图1红框中配置进入云存储配置,出现第一个页面便是域名管理,2、找到加速域名,点击红框中域名绑定,3、在域名处输入域名(例如我的是p.molipre.com),4、点击确定即可,5、找到基本信息,复制红框中CNAME的网址。
接着打开你的域名解析管理后台,找到你的域名并添加解析记录,例如我的p.molipre.com填写如下图所示:添加SSL证书
打开又拍云SSL证书页面,如果你绑定的域名没有SSL证书,请按照下面图片中步骤:1、点击申购证书,2、选择TrustAsia(含免费),3、点击创建订单,然后确认购买,确认支付,4、出现证书状态处于待完成的页面,点击补全,5、在域名处填写上一步骤的域名(例如我的是p.molipre.com),然后不断下一步,直至完成,然后等待证书颁发。如果已经在域名解析控制台绑定了你的域名和证书,则需要:1、打开域名解析控制台,点击证书详情,2、下载证书,并找到下载好的证书文件然后解压,3、进入解压好的证书文件夹,找到Nginx文件夹并进入,4、用编辑器打开Nginx文件夹内的crt和key文件,然后复制crt和key文件内容待用,5、打开又拍云SSL证书页面,点击证书管理,点击添加自有证书,6、把刚才复制的crt和key文件内容分别粘贴到pem证书框内和私钥框内,然后点击保存即可。
开启https访问
按照下面图片中步骤:1、点击图1红框中配置进入云存储配置,2、点击图2中红框HTTPS,3、找到HTTPS配置,点击红框中的管理,4、上述证书和域名绑定后会出现图4的页面,点击开启HTTPS访问和勾选强制HTTPS访问即可。完成上述步骤后,你就可以通过你自己定义的域名访问图床的图片了。
使用PicGo上传图片
又拍云设置如下:
设定存储空间名称:又拍云服务名。
设定操作员及操作员密码:步骤2中设置的操作员名以及保存的密码。
设定加速域名:步骤4中绑定的域名。
设定网址后缀:图片处理参数(可不填),例如:!imgslim
指定存储路径:在新的文件夹中储存,用 / 结尾,例如:img/
PicGo+腾讯云对象存储
首先登陆腾讯云控制台 ( 没有账号的小伙伴按照提示注册然后再实名认证即可 ) ,接着找到对象存储 ( 有账号的小伙伴直接打开这个链接登录即可 ) ,按照下面图片中步骤:1、点击存储桶列表,2、点击创建存储桶。
出现下图弹窗,按照下面图片中步骤:1、名称处输入存储桶名称(例如我输入是img),2、访问权限选择公有读私有写,其他默认然后点击确定即可。
防盗链设置(该步骤主要是防止你的流量被恶意程序使用图床链接盗刷)
按照下面图片中步骤:1、点击安全管理,2、点击防盗链设置,3、点击编辑,4、选择开启,选择白名单,选择允许,在Referer框内输入要用图床链接的域名,然后保存即可。自定义源站域名(因为对象存储本身提供的访问地址是比较长的,所以自定义一个域名去做访问比较方便,该步骤需要你有一个已经通过ICP备案的域名)
按照下面图片中步骤:1、点击域名与传输管理,2、点击自定义源站域名,3、点击添加域名,4、在域名处输入域名(例如我的是p.molipre.com),5、复制CNAME的内容,并点击点击保存。
接着打开你的域名解析管理后台,找到你的域名并添加解析记录,例如我的p.molipre.com填写如下图所示:
完成上述步骤后,你就可以通过你自己定义的域名访问图床的图片了,但是因为腾讯云自身的原因,该访问是http连接,浏览器会显示不安全,如果需要配置https访问,则需要开启CDN加速,因为这个要付费使用,我这里就不演示了,请自行设置。使用PicGo上传图片
腾讯云COS设置如下:
COS版本:请选择V5,新开通的都是 V5 版本。
SecretId、SecretKey、APPID:请访问API密钥管理,复制红框内的内容填写到PicGo。
存储空间名称:存储桶名称。
区域:填写区域英文代码,例如步骤2中选择所属区域为南京,则填写:ap-nanjing
存储路径:在新的文件夹中储存,用 / 结尾,例如放在根目录:/
自定义域名:如果有绑定自定义域名,填写步骤4中的域名,否则留空。
PicGo+SM.SM
SM.SM是一个商业开发的图床,本身有免费的存储空间和收费的VIP套餐,这里当然不推荐VIP套餐,因为太贵了,而且你注册了账号,会赠送5GB的空间,用完就没了,不注册账号的话,每天也能上传30张图片,就是传完没法管理,有账号的话你就能管理你上传的照片。
如果不想注册账号的话,直接访问 SM.SM 然后选择本地图片去上传即可,因为没有账号的原因,因此也没法使用PicGo来上传图片。
如果想要更好的管理上传到SM.SM的图片,那么就需要注册一个账号,请点击这里去注册。
注册成功并登陆,然后:1、点击右上角
User
,然后点击Dashboard
进入账号管理页面。接着:1、点击左下的
API Token
,2、点击Generate Secret Token
生成秘钥令牌,3、复制Secret Token
后面那一串字符待用。使用PicGo上传图片到SM.SM,1、打开PicGo,找到图床设置中的SM.SM图床,2、在设定Token中粘贴你刚才保存的Secret Token,然后点击确认即可。
最后
- 关于私人图床搭建的内容就到这里了,其实还有更多平台可以搭建的,例如七牛云。阿里云OSS等等,提供云存储的平台都可以用类似的方法去搭建,各种商业图床也很多,这里就不推荐了,大家自己去发掘吧。
- 祝大家搭建成功,使用顺利,再见👋。