前言
在搭建个人博客时使用了markdown语法作为编写博客的主要语言。但由于本地编写时加入的图片只能在本地显示,为了能够在上传到服务器后仍然正常显示。我们就需要用到图床,网上比较多的解决方案除了免费图床(不稳定)以外就是采用对象存储(OSS),但是有由于我本身有一台云服务器,我不想再花钱去购买对象存储服务。因此就基于自己的云服务器进行图床的搭建。
整个搭建是非常简单的,只要安装两个东西,写不到10行的代码。除了安装东西外,几乎几分钟就完成了。
一、整体思路
通过安装picgo插件 采用 SFTP 上传。
因此我们需要安装两个东西:
- 在本地安装picgo下载链接
- 安装OpenSSH for windows
由于是windows系统,因此Linux系统的OpenSSH不可用,我们可以通过github下载OpenSSH for windows,具体下载和配置可以参考我的另一篇博客,这里就不重复生产了(步骤很简单) 博客链接
二、具体步骤
1.在picgo中添加插件
插件设置中搜索sftp就有了,直接安装这个插件。
进入到插件界面,可以看到这个插件需要两个东西,一个是网站标识,一个是配置文件。
2.在本地新建一个json文件(配置文件)
随便什么地方建都可以,我的路径是E:\有用的软件\picgo\blog_upload.json
在blog_upload.json
中编写下面的内容:
{
"Gbolg": {
"url": "http://47.94.106.72",
"path": "/blogImg/{fullName}",
"uploadPath": "C:/my/flaskGBlog/blogImg/{fullName}",
"host": "47.94.106.72",
"port": "22",
"username": "administrator",
"password": "123456"
}
}
Gblog
:就是我们需要的网站标识,这个名字也是可以随便取的。你改成其他的也没问题。同时,json文件中可以填写多个服务器配置(我这里只写了一个,如果有多个可以并排写进去),这个标识也只是为了更好的告诉picgo我们当前要采用那个服务器配置。
path
:填写服务器上存储图片的文件夹的名称
uploadPath
:填写服务器上存储图片的文件夹的绝对路径
{fullName}
:是强制要求的,代表的是上传的图片的名称,这个不需要修改。
username
:是登陆服务器时的账户名
password
:是登陆服务器时的密码
我这里只配了基础信息(已经足够了),如果还有其他需求的可以参考github picgo-plugin-sftp-uploader
需要注意的是,这个端口(port)一定要填写正确,一般来说ssh默认是22端口,所以填写22就可以。
3.填写插件信息
把本地json路径和要使用的服务器配置对应的标识名填写到picgo中,并设置为默认图床。
4.开始上传图片
在这里上传图片
我选择的是这张图片
上传成功后就可以在相册里面看到我们上传的图片,并且可以点击图片下面的“复制”来复制链接
最后在typora
中引入这个链接,可以发现图片成功显示
至此采用云服务器搭建自己的图床的工作就全部完成了,后面可以在typora中设置默认上传picgo,这样在写博客的时候图片就会自动上传到我们的服务器上了。