ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

【本地图床搭建】宝塔+Docker+MinIO+PicGo+cpolar:打造本地化“黑科技”图床方案

【本地图床搭建】宝塔+Docker+MinIO+PicGo+cpolar:打造本地化“黑科技”图床方案 写在前面本博客仅作记录学习之用部分图片来自网络如需引用请注明出处同时如有侵犯您的权益请联系删除文章目录前言宝塔安装DockerMinIOMinIO 安装MinIO 访问cploar内网穿透cploar安装Linux/Ubuntucploar映射 MinIO 端口PicGo下载与安装typora安装总结互动致谢参考目录导航前言在博客创作过程中图片管理是不可或缺的重要环节。对于众多依赖 WordPress 搭建博客网站的用户而言每次上传媒体文件都需要在后台手动操作流程繁琐且效率低下。而选择公开图床虽能暂时解决存储问题但数据安全与稳定性始终是悬而未决的隐患——一旦图床服务商关闭或数据丢失辛苦积累的视觉素材可能瞬间化为乌有。为破解这一困境本地化图床方案应运而生。通过服务器环境中的宝塔面板可快速部署 Docker 容器化服务实现存储与应用的物理隔离。在此基础上采用 MinIO 构建高性能、S3 协议兼容的对象存储系统既能满足海量图片的分布式存储需求又可通过标准化接口与第三方工具无缝对接。同时借助 PicGo 实现便捷的客户端上传功能并配合 cpolar 内网穿透技术将本地服务映射为公网可访问的静态资源地址以实现图片资产的自主掌控与高效管理。东荷新绿的网站 - 宝塔DockerMinIOPicGocpolar打造本地化图床方案若无法访问就是笔记本关机了若图片无法显示就是图床失效了宝塔安装Docker在宝塔面板进行Docker安装注意虚拟机的宝塔面板的无法实现外网访问。授权特定IP也不行。phpmyadmin 启动异常也不影响建议修改虚拟机的网络模式为桥接模式NAT模式只能本机访问桥接可局域网访问相对方便点。MinIOMinio 是高性能分布式对象存储存储系统属于开源软件旨在满足非结构化数据增长需求。本文主要涉及 Minio 安装与访问以提供图像的存储服务进而实现图床的功能。为实现公网的图像访问采取 cpolar 对 Minio 的端口进行映射因此建议 Minio 的存储桶的权限设置为可读。MinIO 安装Docker 安装 MinIO 插件操作如下记住账号密码查看日志明确后台IP操作如下MinIO 访问浏览器中输入后台网址127.0.0.1:19001 并输入账号密码进行登录。新建图床的存储桶并进行对应的设置。存储桶是用于组织和管理在对象存储服务中存储的数据即对象的逻辑单位相当于一个高度可配置和可扩展的文件夹。存储桶拥有更多的元数据和访问控制策略每个存储桶都有一个全局唯一的名称并且通常用于存放一组相关的数据。进行必要命名。进行权限修改可读的权限。可尝试上传成功上传即可。创建访问密钥请妥善保存密钥后续PicGo会用到。cploar内网穿透cpolar 是一种安全的内网穿透云服务它将内网下的本地服务器通过安全隧道暴露至公网使得公网用户可以正常访问内网服务。为实现对 MinIO 的图像可以公网访问采取的方法是将 MinIO 的19000端口通过安全隧道暴露至公网。免费版套餐提供的域名是随机的因此每次映射或者重启cpolar都会发送改变建议升级为基础版本99RMB/年。可实现3个二级域名的保留就是固定域名。三个二级域名可实现 wordpress 的博客网站的映射和 MinIO 端口映射以及其他的需要无需备案。有想法的叶子可使用笔者的推广链接https://i.cpolar.com/m/5sc2gridinsoft显示笔者所使用的域名dhxl.vip.cpolar.cn已于6年钱通过阿里云计算有限公司万网公司注册所有者为北京嘉迅科技有限公司该公司已经备案个人无需备案。cploar安装Linux/Ubuntucploar官网https://www.cpolar.com/当然你需要一个注册一个号。登陆后可以看见安装步骤Linux 不推荐这样安装浏览器可能无法访问cpolar web UI管理界面。上述操作配置文件在/home/用户名/.cpolar/cpolar.yml无法配置系统服务即cpolar http 80会报错找不到cpolar进而向系统添加、启动、查看cpolar服务sudo systemctl enable cpolarsudo systemctl start cpolarsudo 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 -- --removelinux正确的安装方法需要切换到root账户sudo -scpolar 安装:curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash查看版本:cpolar versiontoken认证:cpolar authtoken x你的authtokenx添加系统服务sudo systemctl enable cpolar启动服务sudo systemctl start cpolar查看服务sudo systemctl start cpolarcploar映射 MinIO 端口首先保留一个二级域名此处以dhxl为例要在 cploar web UI 管理界面 进行隧道的建立。在隧道列表里面可看到固定的二级域名相反本地很简单就一行命令cpolar http19000此时就可以通过 dhxl.vip.cpolar.cn 访问图床了。PicGo下载与安装PicGo下载Gitee PicGo不推荐Github的下载方式国内访问受限或者需要科学上网。推荐山东大学的镜像站速度很快。下载AppImage结尾的文件可执行文件右键修改执行权限运行PicGo-2.3.1.AppImage./PicGo-2.3.1.AppImage可能会遇到报错dlopen(): error loading libfuse.so.2AppImages require FUSE to run.You might still be able to extract the contents of this AppImageif you run it with the --appimage-extract option.See https://github.com/AppImage/AppImageKit/wiki/FUSE for more information解决办法:sudo apt install libfuse2PicGo插件下载下载地址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 npmcd picgo-plugin-minionpm installPicGo配置typora安装由于多数博客均是使用markdown语法并非使用html进行编辑。因此在本地编辑希望将插入的图像直接转成对应的公网可访问的图片连接避免一个个替换typora恰好提供了这样的功能。typora下载: ​ https://typoraio.cn/releases/all安装typorasudo 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目录导航【博客目录】
返回列表