写在前面:本博客仅作记录学习之用,部分图片来自网络,如需引用请注明出处,同时如有侵犯您的权益,请联系删除!
文章目录
- 前言
- 宝塔安装Docker
- MinIO 安装与设置
- cploar内网穿透
- PicGo下载与安装
- typora安装
- 总结
- 互动
- 致谢
- 参考
- 目录导航
前言
在博客创作过程中,图片管理是不可或缺的重要环节。对于众多依赖 WordPress 搭建博客网站的用户而言,每次上传媒体文件都需要在后台手动操作,流程繁琐且效率低下。而选择公开图床虽能暂时解决存储问题,但数据安全与稳定性始终是悬而未决的隐患——一旦图床服务商关闭或数据丢失,辛苦积累的视觉素材可能瞬间化为乌有。
为破解这一困境,本地化图床方案应运而生。通过服务器环境中的宝塔面板,可快速部署 Docker 容器化服务,实现存储与应用的物理隔离。在此基础上,采用 MinIO 构建高性能、S3 协议兼容的对象存储系统,既能满足海量图片的分布式存储需求,又可通过标准化接口与第三方工具无缝对接。同时,借助 PicGo 实现便捷的客户端上传功能,并配合 cpolar 内网穿透技术,将本地服务映射为公网可访问的静态资源地址以实现图片资产的自主掌控与高效管理。
东荷新绿的博客网站 - 【本地图床搭建】宝塔+Docker+MinIO+PicGo+cpolar:打造本地化“黑科技”图床方案
访问密码:dhxl
若无法访问,就是笔记本关机了
若图片无法显示,就是图床失效了
宝塔安装Docker
- 在宝塔面板进行Docker安装
注意:虚拟机的宝塔面板的无法实现外网访问。
授权特定IP也不行。
phpmyadmin 启动异常也不影响
建议修改虚拟机的网络模式为桥接模式:NAT模式只能本机访问,桥接可局域网访问,相对方便点。
MinIO 安装与设置
-
搜索MinIO插件
-
记住账号密码
-
查看日志
-
登录MinIO:127.0.0.1:19001
- 创建桶
- 设置桶权限
-
测试上传
-
创建访问密钥:后续PicGo会用到。
cploar内网穿透
cploar官网:https://www.cpolar.com/,当然你需要一个注册一个号。
- 登陆后如下图,linux不推荐这样安装,浏览器可能无法访问cpolar web UI管理界面
上述操作,配置文件在
/home/用户名/.cpolar/cpolar.yml
,无法配置系统服务,即cpolar http 80
会报错找不到cpolar,进而向系统添加、启动、查看cpolar服务:sudo systemctl enable cpolar
;sudo systemctl start cpolar
,sudo systemctl status cpolar
都会提示没有该服务。笔者也尝试过创建
cpolar.service
、将cpolar可执行文件移动到/usr/lccal/bin
等,甚至添加环境变量,编辑./bash_bashrc
等等,网上找了一堆解决办法都不行,甚至一度怀疑是不是虚拟机的问题。最后发现是安装有问题,于是卸载cpolar进行重新安装。
卸载:
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash -s -- --remove
-
linux正确的安装方法
需要切换到root账户:
sudo -s
cpolar 安装:
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
查看版本:
cpolar version
token认证:
cpolar authtoken x你的authtokenx
添加系统服务:
sudo systemctl enable cpolar
启动服务:
sudo systemctl start cpolar
查看服务:
sudo systemctl start cpolar
PicGo下载与安装
PicGo下载Gitee: PicGo,不推荐Github的下载方式,国内访问受限或者需要科学上网。
- 推荐山东大学的镜像站,速度很快。
- 下载AppImage结尾的文件
-
可执行文件右键修改执行权限
-
运行PicGo-2.3.1.AppImage
./PicGo-2.3.1.AppImage
可能会遇到报错:dlopen(): error loading libfuse.so.2,AppImages require FUSE to run.You might still be able to extract the contents of this AppImage,if you run it with the --appimage-extract option.See https://github.com/AppImage/AppImageKit/wiki/FUSE for more information
解决办法:
sudo apt install libfuse2
-
PicGo插件下载
下载地址:picgo-plugin-minio
可以
git clone https://gitee.com/wanghuya/picgo-plugin-minio.git
可以下载zip, 然后使用
unzip picgo-plugin-minio.zip
进行解压。 -
picgo-plugin-minio 安装
sudo apt install npm
cd picgo-plugin-minio
npm install
-
PicGo配置
typora安装
由于多数博客均是使用markdown语法,并非使用html进行编辑。因此在本地编辑希望将插入的图像直接转成对应的公网可访问的图片连接避免一个个替换,typora恰好提供了这样的功能。
- typora下载: https://typoraio.cn/releases/all
-
安装typora
sudo dpkg -i typora_1.10.8_amd64.deb
-
偏好设置
-
插入效果
总结
总结: 本文通过宝塔面板安装Docker,提供MinIO服务以实现对象存储,进一步使用PicGo上传MinIO,并以cpolar实现内网穿透的同时提供公网访问的图像IP以搭建本地图床。
互动
上述内容对你有用吗?
欢迎在评论区解答上述问题,分享你的经验和疑问!
当然,也欢迎一键三连给我鼓励和支持:👍点赞 📁 关注 💬评论 💰打赏。
致谢
欲尽善本文,因所视短浅,怎奈所书皆是瞽言蒭议。行文至此,诚向予助与余者致以谢意。
参考
[1] https://www.cpolar.com/
[2] 山东大学的镜像站
[3] PicGo
[4] picgo-plugin-minio
[5] https://typoraio.cn/releases/all
[6] https://cloud.tencent.com/developer/article/2446060
目录导航
- 【博客目录】