《家庭财务宝典》

不想白嫖了,自己动手搭个图床MinIO + PicGo + Typora

22次阅读

共计 4840 个字符,预计需要花费 13 分钟才能阅读完成。

不想白嫖了,自己动手搭个图床MinIO + PicGo + Typora插图

前世的原因

相信很多同学跟我一样,使用 Typora 做技术文档,Blog 的创作,然后用类似 PicGO 这样的工具上传到 Github,其实这是个不错的做法。

好处就是 免费 简单 方便,缺点呢,自己本地看还行,因为我知道大家都会武功或者借助一些技巧,而且呢发文到各大平台问题也不大。毕竟各大平台的 Markdown 文档编辑器会自动给我们上传图片到他们自己的图床。

如果是在自己 Blog 站点直接发出去呢,里面图片地址是 githubusercontent.com 域名下的,那么对于网络条件不好的用户,就会显示不出来或者加载很慢,毕竟不是谁都会武功的对吧。

等等,我有个好主意!😈😈

【那我把我 markdown 里面的链接都替换成平台的不就好了么?】

!!! 像我这样,有这种想法呢也正常的。

不想白嫖了,自己动手搭个图床MinIO + PicGo + Typora插图1

试一试

平台还是比我们要聪明点啦。我们发现把地址复制出来是可以正常显示的。

这里肯定又有学习不错的大聪明说,我学过,无非是别人加了防盗链,之前 gitee 也是。我们把 Header 里面的 Referer 改成平台自己支持的域名就行了。

兄弟,你学的很好,那你就这么玩哈。

自己演绎了个剧本大家不要见笑。

其实呢,对于各大平台来说不管是 Gitee,还是知识社区,进行一些防盗链是非常正常的,毕竟服务器资源都是要花钱的,也会有一些其他风险,我觉得作为行业内的还是应该理解的,只是 Github 这样的比较另类。

今生的解决办法

那么怎么解决呢,用 Github 的确是不行了。

买个 OSS 服务吧。可以是可以,花点钱,趁现在 618 各大云厂商都在推出促销服务,比较现在茅台价格都被电商玩出事了对吧,有需要的同学可以去看看

其实也是个不错的方案,毕竟对象存储服务就是用来存放文件,图片,日志等东西的,而且选好存储类型的话,预算还是不高的,玩过云资源的都知道,不管是哪种类型的资源,存储本身是不贵的,流量才贵。所以大家可以自己权衡下,我也没算过账

【我怕哪天网站太火,OSS 资源刷爆账单!】

一是做梦,有那一天,你还在乎这点钱?

还是好好搬砖吧。哎,最近又……,算了不提了

想到手上还有两台轻量应用服务器,包月流量不小,带宽也还可以,现在就跑了几个应用和 MySQL,Redis,ES 等中间件,还可以搞

【等等,你不是前端吗,要这些东西干嘛】

我骨子里是后端

MinIO

MinIO is a high-performance, S3 compatible object store. It is built forlarge scale AI/ML, data lake and database workloads. It is software-definedand runs on any cloud or on-premises infrastructure. MinIO is dual-licensedunder open source GNU AGPL v3 and a commercial enterprise license.

【说的真好,嗯。。说的啥】

它说自己很牛逼

【?!】

就是自己能用来搭建对象存储服务。

安装

当然,你可以裸机直接装,我选择 docker 的方式

查询下信息

docker search minio
# 我们选择第一个
不想白嫖了,自己动手搭个图床MinIO + PicGo + Typora插图2

创建数据目录

# 请相对于自己的目录
mkdir -p data/containers/minio/data

创建 docker-compose.yml

目录:data/containers/minio/docker-compose.yml

请相对于刚才自己创建的目录

services:
  minio:
    image:"minio/minio:latest"
    restart: "always"
    ports:
      - "9006:9000"
      - "9007:9001"
    volumes:
      - ./data:/data
    environment:
      - MINIO_ROOT_USER=<yourname>
      - MINIO_ROOT_PASSWORD=<yourpassword>
    command: minio server /data --console-address ":9007"

端口 9006 用于访问

端口 9007 用于控制台

ps: 这里留了个小坑,看看有没有同学发现,评论区见

创建启动服务

docker compose up -d

查看服务状态和日志

docker compose ps
docker compose logs -f
NAME                IMAGE                COMMAND                  SERVICE             CREATED             STATUS              PORTS
minio-minio-1       minio/minio:latest   "/usr/bin/docker-ent…"   minio               3 minutes ago       Up 3 minutes        0.0.0.0:9006->9000/tcp, 0.0.0.0:9007->9001/tcp
[root@VM-4-3-centos minio]# docker compose logs -f
minio-minio-1  | Formatting 1st pool, 1 set(s), 1 drives per set.
minio-minio-1  | WARNING: Host local has more than 0 drives of set. A host failure will result in data becoming unavailable.
minio-minio-1  | MinIO Object Storage Server
minio-minio-1  | Copyright: 2015-2024 MinIO, Inc.
minio-minio-1  | License: GNU AGPLv3 - https://www.gnu.org/licenses/agpl-3.0.html
minio-minio-1  | Version: RELEASE.2024-06-13T22-53-53Z (go1.22.4 linux/amd64)
minio-minio-1  | 
minio-minio-1  | API: http://172.18.0.2:9000  http://127.0.0.1:9000 
minio-minio-1  | WebUI: http://172.18.0.2:9007 http://127.0.0.1:9007 
minio-minio-1  | 
minio-minio-1  | Docs: https://min.io/docs/minio/linux/index.html
minio-minio-1  | Status:         1 Online, 0 Offline. 
minio-minio-1  | STARTUP WARNINGS:
minio-minio-1  | - Detected Linux kernel version older than 4.0.0 release, there are some known potential performance problems with this kernel version. MinIO recommends a minimum of 4.x.x linux kernel version for best performance
minio-minio-1  | - The standard parity is set to 0. This can lead to data loss.

验证下服务

这里我们直接把 9006 和 9007 端口暴露到公网,然后自己本地测试下

ps:验证后从防火墙上把这两个接口禁用掉,再用 nginx 反向代理过去

不想白嫖了,自己动手搭个图床MinIO + PicGo + Typora插图3

创建下 bucket,这里就叫 blog-static,后续其他使用场景也可以用创建其他的

不想白嫖了,自己动手搭个图床MinIO + PicGo + Typora插图4

bucket

设置下访问规则并测试下

不想白嫖了,自己动手搭个图床MinIO + PicGo + Typora插图5

设置访问规则

不想白嫖了,自己动手搭个图床MinIO + PicGo + Typora插图6

测试图片

测试访问下

不想白嫖了,自己动手搭个图床MinIO + PicGo + Typora插图7

测试图片

***ps: 这里有个非常重要的点,就是我们一开始设置的 9007 端口是控制台,那么我们实际访问的端口其实是 9006.

域名配置和 nginx 反向代理

接下来就是讲 MinIO 的服务和控制台配置到自己域名上去

申请域名和 HTTPS 证书的步骤这里就忽略了,大家可以去查下资料

这里直接给出 nginx 的配置信息,如果需要对应安装部署步骤的话评论区或者私聊下我

server {
    listen  443 http2 ssl;
    server_name  static.miaodaddy.xyz;


    gzip on;
    gzip_buffers 32 4K;
    gzip_comp_level 6;
    gzip_min_length 100;
    gzip_types application/javascript text/css text/xml;
    gzip_disable "MSIE [1-6]."; #配置禁用 gzip 条件,支持正则。此处表示 ie6 及以下不启用 gzip(因为 ie 低版本不支持)gzip_vary on;

    access_log  /var/log/nginx/minio.access.log;

    ssl_certificate  /etc/nginx/ssl/static.miaodaddy.xyz_bundle.pem;
    ssl_certificate_key /etc/nginx/ssl/static.miaodaddy.xyz.key;

    location / {
      proxy_redirect off;
      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;

      proxy_pass http://localhost:9006;
    }
}

【现在免费 SSL 证书有效期只有 90 天,nnd】

配置完后,就能愉快的配置 PicGo 和 Typora 了

不想白嫖了,自己动手搭个图床MinIO + PicGo + Typora插图8

测试域名和 SSL 配置后的效果

PicGo 配置

这里首先要在 Minio 上申请下 AK 和 SK,记得保存下

不想白嫖了,自己动手搭个图床MinIO + PicGo + Typora插图9

ak 和 sk

先在 PicGo 的插件里面安装 MinIO 的插件,然后我们先测试下 PicGo 的功能是否正常

不想白嫖了,自己动手搭个图床MinIO + PicGo + Typora插图10
不想白嫖了,自己动手搭个图床MinIO + PicGo + Typora插图11

【我承认你这个配置是一次性成功的😄】

Typroa 配置

最后一步就比较容易了

不想白嫖了,自己动手搭个图床MinIO + PicGo + Typora插图12

总结

还是一段比较顺利的探索之旅

【狗屁,报错,查资料,你不知道你重试了多少次啊?🤭】

其实这里还有个小问题,就是每次上传后,返回的图片地址包含了域名加 443 的情况,这个留给大家思考下,是哪里出的问题

但是对于 MinIO 的探索还远没有结束,下一期我们可以看下 MinIO 更高阶的功能,比如权限配置,如果部署达到高可用的目的

其实真要部署高可用的话,需要更多的机器资源,到时候算下 ROI 的话,还不是直接买 OSS 或者 COS 呢,对吧,到那一天再说

但是我们可以继续挖掘下 Minio 的功能,比如哪天要迁移到 OSS,我们如何进行,我们下期见

你的工作,由 AI 赋能!🔥

还在为文案、脚本卡壳、做视频、写代码、设计图片灵感枯竭而烦恼吗?🤯

板板 AI,你的工作好帮手!

一键生成    各种文案、脚本、图片、视频、代码、报告,轻松应对各种工作 / 营销需求!

现在注册体验,即可获得:

  • 🎁 30 积分基础模型余额
  • 🎁 3 积分高级模型余额
  • 🎁 3 积分绘画余额

还不快来试试?

点击链接,开启你的 AI 创作之旅!>>>https://www.banbanai.cn

板板 AI,让你的工作效果发挥无限可能! 🚀

正文完
关注板板AI免费获得移动AI助手
post-qrcode
 
天天
版权声明:本站原创文章,由 天天 2024-12-13发表,共计4840字。
转载说明:

本文由 天天资讯网 整理发布,转载请注明出处.
版权声明:部分文章内容或图片来源于网络,我们尊重作者的知识产权。如有侵犯,请联系我们在第一时间删除。

文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月
文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月
文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月
文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月
文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月 文字广告位10/月

温馨提示:请在上面搜索| 查找更多免费资源,如需广告位请联系站长QQ 48704478

《家庭财务宝典》