图床搭建
基于GitHub仓库搭建图床
优点:
很稳定不会跑路,用的是自己的仓库和公共托管平台
图片可以增量快速更新和跨设备管理
可以进行版本管理和查看之前的版本
有公共CDN,速度还是不错的
资源格式可以任意都行,包括css、js等
缺点:
每个仓库限制1G,超过要新建另一个仓库
git管理可能偶尔会遇到网络和公钥失效问题
建立GitHub仓库
- 进入Github官网注册并登录自己的账号,到自己的个人主页,点击右上角的+,并选择
New Repository
创建自己的仓库。 - 仓库名字随意,描述也可以自由发挥,可见性最好选public,Readme文件可以创建,然后点击
Create Repository
创建仓库。- Repository name: 自定义仓库名,如:
picbed
- Description (optional): 自定义仓库描叙信息,如:
图床
√
Public 勾选public√
Add a README file 勾选添加readme文件- Create repository 点击创建项目
- Repository name: 自定义仓库名,如:
- 让你的计算机与Github建立通信,主要是创建公钥、上传公钥、检查通信这几步,确保计算机有权限访问远程仓库,所述教程是用的RSA公钥,目前更推荐ed25519公钥,该数字签名算法的签名和验证的性能都极⾼,具体教程百度这里不再赘述。
- 先在本地创建一个文件夹,文件夹位置和名字随意就可以,进入该文件夹后右键打开Git Bash,然后输入以下代码把之前创建的仓库拷贝下来,其中git clone后面的东西要替换成自己的仓库信息,可以通过自己仓库的ssh链接来获取。它会把整个仓库会被拷贝到当前文件夹,等待clone成功后,能看到自己的文件夹多了个.git文件夹和Readme.md文件,这就代表成功了。
1
git clone git@github.com:fomalhaut1998/pic_bed.git
- 在这个文件夹里面创建创建一个img文件夹专门存放图片,如果有存放其他类型资源的可以创建别的文件夹,比如现在想往仓库里加两张图,直接就把图片复制到img文件夹里面即可。
- 然后在带有Readme.md文件的那个文件夹内,右键打开Git Bash(注意看清楚是什么文件夹),然后依次输入以下命令把更改推送到远程仓库,最后一步不成功可能要多试几次。运行完能看见最下面有如下信息就代表推送成功了
1
2
3
4
5# 将更改提交
git add .
git commit -m "更新图片"
# 推送至github仓库
git pusha74d23..c23cd3 main -> main
- 回到GitHub刷新
pic_bed.git
仓库,会发现有了刚刚上传的资源 - 下次有增删改查图片的情况只需最后在在带有
Readme.md
文件的那个文件夹内执行git三件套了- 右键打开
Git Bash
依次执行以下三步 git add .
git commit -m "更新信息"
git push
- 右键打开
- 你可以通过如下格式的链接引用你的图片
1
2
3https://raw.githubusercontent.com/username/repository-name/main/img-file/xxx.png
或
https://github.com/username/repository-name/raw/main/img-file/xxx.png前缀固定路径
https://raw.githubusercontent.com/
- 或
https://github.com/
username
你github账号的用户名repository-name
github创建的图床仓库的仓库名/main/
当前仓库所在分支,默认main
分支img-file/xxx.png
什么文件夹下的什么图片 路径- 比如
img
文件夹下的test.png
图片路径就是img/test.png
Staticaly CDN加速
现在这种方法似乎已经寄了
直接访问Github仓库的资源是非常慢的!因此我们要用一些免费的CDN进行加速,Staticaly CDN是免费CDN中比较好用的啦,他的应用规则如下:
格式 其中 user是用户名 repo是仓库名 version代表版本(tag或者分支 默认为main) flie是文件路径
https://cdn.staticaly.com/gh/user/repo@version/file
Vercel 部署
此方法加载速度较快,但是需要域名自定义绑定,其优点也是可以绑定自定义域了,目前Vercel每个月限制流量100GB
进入Vercel控制面板新建项目,并通过Github继续,选择导入刚刚创建的图床仓库,然后直接部署即可
- 进入Vercel 点击右上角
Add New
选择新建项目Project
- 在左边
Import Git Repository
中选择githubContinue with GitHub
- 选择创建的图床仓库 点击右侧
import
- 在新界面全部保持默认,直接部署 ,即直接点击
Deploy
- 部署完成会显示
Congratulations!
- 进入Vercel 点击右上角
绑定域名
- 上述部署完成后 点击右上角
continue to Dashboard
去仪表板 - 点击右上角
View Domains
- 在
Domains
下方添加一个自定义的二级域名- 比如说你注册的域名为
xxx.com
- 你可以填
picbed.xxx.com
- 比如说你注册的域名为
- 点击
Add
他会显示你所需要添加的域名解析内容
注意下方的Type
Name
Value
这三项的值,待会要用到- 以阿里云的域名为例
- 来到控制台,在左上角菜单里选择
域名
在域名列表
中选择你的域名,点击解析
在跳转后的界面点击添加记录
记录类型
填 vercel 给你的Type
值主机记录
填你在第3步填的二级域名,例如上方示例的picbed
记录值
填 vercel 给你的Value
值- 其他保持默认即可,点击
确认
添加
- 可能有多个解析要添加,重复第4步的添加
解析
就行了 - 回到Vercel 能看到
picbed.xxx.com
下已经打了勾表示完成了
- 上述部署完成后 点击右上角
- 访问资源
- 自定域后面直接跟资源路径即可
- 列如
picbed.xxx.com/img/xxx.png
- 直接在浏览器访问链接能显示图片就说明成功了。
如对文件夹里的图片有变动
在本地执行git add .
,git commit -m "xxx"
,git push
后
Vercel会自动检测仓库的main分支变化并触发新一轮部署
如果出现了问题
分别去github和Vercel看仓库资源更新是否成功的情况来排除错误
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 XuSir'Blog!
评论