下载安装PicGo

下载

[https://github.com/Molunerfinn/PicGo/releases]: “下载链接”

安装

选择想安装的目录进行安装,尽量避开中文路径

配置

image-20251111164910488

image-20251112072556195

设置插件安装镜像,这样国内也能访问到picgo的插件库

1
https://registry.npmmirror.com

image-20251112072803214

根据自己选择安装插件,这里由于我用的是自己服务器通过nginx搭建的图床,所以安装了 sftp-uploader,由于背景图片选用的4k为了减少带宽压力,在上传之前将图片转成 .webp 格式,减小图片大小,所以同时安装了 webp

sftp-uploader 插件配置

image-20251112073150285

安装好 sftp 插件后,需要一些配置,来访问服务器,首次点 + 号进行创建,我这里已经创建好了

image-20251112073319384

大概是这个样子,其中,图床配置名,需要和配置文件中的key保持一致,配置文件需要创建一个json文件,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
"k10server-common": {
"url": "http://kluhten.com",
"path": "/images/common/{fullName}",
"uploadPath": "/home/images/common/{fullName}",
"host": "43.140.204.128",
"port": 22,
"username": "root",
"privateKey": "C:/Disk/Temp/KLUHTEN_SSH.pem",
"fileUser": "root",
"dirMode": "0755"
},
"k10server-assets": {
"url": "http://kluhten.com",
"path": "/images/assets/{fullName}",
"uploadPath": "/home/images/assets/{fullName}",
"host": "43.140.204.128",
"port": 22,
"username": "root",
"privateKey": "C:/Disk/Temp/KLUHTEN_SSH.pem",
"fileUser": "root",
"dirMode": "0755"
}
}

这里我添加了两个,一个是上传一些公共的图片,另一个是上传文章的图片,这个可以根据自己需求添加,这里要注意的是,url 需要加上 http:// 之前直接填写的域名,导致上传图片后,复制的图片链接没有 http:// 这样每次还要手动的加,比较麻烦,由于我用的是私钥,所以 privateKey 引入了服务器的私钥,这个私钥由于我用的是腾讯云,可以创建服务器的时候,进行绑定,并下载对应的私钥

image-20251112074053738

这里创建好 SSH密钥 之后,点击右边的绑定实例来绑定到自己的服务器上,而绑定了 SSH密钥 的服务器,将不能使用密码进行SSH登录

nginx 配置

image-20251112074440701

服务器上安装好 nginx 之后,在 conf.d 文件夹下创建两个 .conf 的配置文件,由于 nginx 会自动扫描 conf.d 文件夹下所有配置文件并加载,所以后续的配置文件写在这里方便管理,其中 image_host.conf 这个文件按如下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
server {
listen 80;
server_name kluhten.com;
include /etc/nginx/mime.types;
default_type application/octet-stream;

location /images/ {
alias /home/images/;
expires 30d;
add_header Cache-Control "public";
types {
image/jpeg jpg jpeg;
image/png png;
image/gif gif;
image/svg+xml svg;
}
access_log off;
}

error_page 404 /404.html;
location = /404.html {
internal;
}
}

其中 /images/ + /home/images/ 为存放图片的路径,配置好后,还需要对 nginx 用户赋予 755 权限,否则请求图片的时候会出现 502:

1
sudo find /home/images -type d -exec chmod 755 {} \;

hexo-host 这个文件是将 4000 端口映射到 80 端口,这样直接访问 blog.kluhten.com 的时候,直接就能进入到 hexo 服务

1
2
3
4
5
6
7
8
9
10
11
server {
listen 80;
server_name blog.kluhten.com;
location / {
proxy_pass http://127.0.0.1:4000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

都配置好后,测试一下 nginx 配置文件是否有编译错误:

1
nginx -t

image-20251112075827199

重新加载 nginx ,使其生效

1
sudo nginx -s reload

注意:服务器相应的端口,需要进行放行

Typora配置

image-20251112080215642

上传服务选择 PicGo(app),然后添加 PicGo 的路径,都配置完成后,可以验证下图片上传选项,提示成功即可