前言

​ 之前用的是GitHub+PicGo的图床,但是我博客图片总是加载的很慢,在听取同学的建议后,打算用GitLab搭一个

1. 搭建GitLab图床

​ 如果没有GitLab账号的话,可以用outlook邮箱注册一个。

参考链接

1. 创建仓库

创建一个空白项目,一定要公开,url选择用户即可

image-20240129234043883

image-20240129234259252

2. 添加令牌

进到项目主页,点击设置->通用,复制项目ID,等会有用。

image-20240129234416913

image-20240129234519427

然后再点击设置->访问令牌->添加新令牌添加的新令牌一定要保存好,如果丢了就按步骤重新创建

image-20240129234827790

image-20240129235006611

3. 连接PicGo

没有的自行下载:Releases · Molunerfinn/PicGo (github.com)

打开插件设置,搜索gitlab-files,点击安装。下载完成后会在图床设置里看到gitlab flies 图片上传,点击新增

image-20240129235505784

如下图所示配置好,文件名及其路径:/img/{year}/{month}/{day}/{fileName}

image-20240129235933313

到这一步就配置好了,可以丢几张图片测试一下了。

4. 配置Typora

打开文件->偏好设置->图像->上传服务设定,将上传服务配置完成,点击验证图片上传选项,测试即可

image-20240130000519541

2. 搭建腾讯云COS图床

参考链接

1. 创建存储桶

先进行登录腾讯云 - 控制台 (tencent.com),然后搜索对象存储。第一次使用会有优惠(六个月50G存储容量),按提示领取即可。

然后打开存储桶列表->创建存储桶

image-20240310145027362

因为后面需要绑定域名,而且我的域名没有备案,所以选择国外地域(中国香港地区也不需要备案)。存储桶的访问权限为公有读私有写

image-20240310145228796

高级可选配置中的选项按需选择即可

image-20240310150708388

2. 创建访问密钥

点击右上角头像->访问管理->访问密钥->API密钥管理,选择切换子账号

image-20240310151040872

image-20240310151612832

点击快速创建,访问方式为编程访问,用户权限为QcloudCOSFullAccess,点击创建用户。保存好密钥

image-20240310151659257

image-20240310151750129

image-20240310152013630

3. 连接PicGo

没有的自行下载:Releases · Molunerfinn/PicGo (github.com)

打开PicGo->PicGo设置,勾选腾讯云COS

image-20240310150633751

回到对象存储,选择刚刚创建的存储桶,点击概览,然后再回到PicGo

image-20240310152349804

点击图床设置->腾讯云COS,将上述信息填写好。AppId为Bucket后面的数字

image-20240310163931630

到这一步就配置好了,可以丢几张图片测试一下了。

4. 配置Typora

打开文件->偏好设置->图像->上传服务设定,将上传服务配置完成,点击验证图片上传选项,测试即可

image-20240130000519541

5. 存储桶配置

回到存储桶,进入左侧菜单的防盗链设置中。空referer设置为允许,这样Typora的图片才能加载出来。底下的Referer,把自己的域名和localhost也添加上

image-20240311195917531

绑定二级域名(未备案)

打开左侧菜单,进入自定义源站域名,点击添加域名

image-20240311200607140

选择自定义域名,填入二级域名,去自己的域名商添加解析,类型选择CNAME,记录值就是我打码的内容

image-20240311201155214

添加完后就像下面一样,HTTPS证书显示未上传

image-20240311201519280

未上传证书的话,你用二级域名访问图片的时候会有警告

image-20240311201723898

这时候点击旁边的绑定证书,然后去申请一个免费的证书

image-20240311201821245

点击申请免费证书

image-20240311201929368

我图省事,用的是自动DNS验证,不用自己去解析了

image-20240311202101688

因为是自动的,就不需要再去解析了

image-20240311202226166

返回列表后,点击下载,下载其他根证书,下载好后解压,文件可以用VSCode打开

image-20240311203439721

返回自定义源站域名->绑定证书,选择新上传证书证书内容根证书里的内容,密钥内容其他里后缀pem的文件内容。依次填入后点击确定即可

image-20240311203814010

添加完成后返回自定义源站域名->绑定证书,选择已托管证书,选择刚刚添加的证书即可

image-20240311204022837

添加完证书就可以了,不过要等段时间证书才能认证好

image-20240311204113493

3. PicGo推荐插件

1. super-prefix

这款插件能按时间重命名上传的路径和名称

image-20240311205050571

2. webp

image-20240311205220736

4. 上传失败问题

1. Token过期

image-20240215153901928

解决方案

先去看Picgo的日志文件,在C:\Users\June\AppData\Roaming\picgo目录下,找到picgo.log文件,看到下面的错误。

看到报错Unauthorized,发现没授权,于是就去仓库看token

image-20240215153841020

因为token不是永久的,所以会过期,按上面教程重新创建后再修改Picgo的配置就行了

2. 网络问题

最近在用GitLab+PicGo搭建的图床时,总是上传失败,开了魔法也不行。

image-20240127003508007

参考链接

解决方案

设置PicGo代理地址,PicGo设置->设置代理和镜像地址->上传代理,输入http://127.0.0.1:7890

image-20240127003545651

image-20240127003559702

题外话

我在访问图片的时候一直在加载,解决方法:win + i->网络和Internet->代理->手动设置代理,打开使用代理服务器即可。

image-20240127003631916