前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用MinIO搭建图床与PicGo联动

使用MinIO搭建图床与PicGo联动

原创
作者头像
慕阳MuYoung
修改于 2025-05-29 04:03:13
修改于 2025-05-29 04:03:13
1190
举报
文章被收录于专栏:慕阳博客慕阳博客

安装Docker

代码语言:bash
AI代码解释
复制
#更新系统索引以及安装必备组件
sudo apt-get update
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
添加docker源GPG
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
#添加docker源
#官方源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

#阿里源
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
#更新源索引以及安装docker
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

使用Docker安装MinIO

代码语言:bash
AI代码解释
复制
docker run -d--name minio
-p 9000:9000 \
-p 9001:9001 \
-e"MINIO ROOT USER=minioadmin" \  #管理员用户名 只能在创建容器时带入参数设置之后不可更改
-e"MINIO ROOT PASSWORD=minioadmin" \  #管理员用户名 只能在创建容器时带入参数设置之后不可更改
-v /root/minio:/data \
minio/minio server /data --console-address":9001"

放行防火墙端口

放行云服务器安全组或者防火墙9000以及9001端口

访问9001端口测试

默认用户名密码为之前的docker参数 建议在docker参数定义时就定义要使用的管理员用户名密码

用户名:minioadmin

密码:minioadmin

反向代理

9000端口为实际api访问端口 9001为web页面控制台端口

反向代理web页面

代码语言:yaml
AI代码解释
复制
server {
         listen    80;
         listen    443 ssl http2;
         server_name  web页面控制台访问域名;

         ssl_certificate 证书文件路径;
         ssl_certificate_key 证书密钥路径;
         ssl_session_cache shared:SSL:1m;
         ssl_session_timeout  10m;
         ssl_ciphers PROFILE=SYSTEM;
         ssl_prefer_server_ciphers on;

location / {

        proxy_pass http://127.0.0.1:9001;
        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 REMOTE-HOST $remote_addr;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_http_version 1.1;      
        add_header X-Cache $upstream_cache_status;
}

反向代理api端口

代码语言:yaml
AI代码解释
复制
 server {
         listen    80;
         listen    443 ssl http2;
         server_name  api访问域名;

         ssl_certificate 证书文件路径;
         ssl_certificate_key 证书密钥路径;
         ssl_session_cache shared:SSL:1m;
         ssl_session_timeout  10m;
         ssl_ciphers PROFILE=SYSTEM;
         ssl_prefer_server_ciphers on;

location / {

        proxy_pass http://127.0.0.1:9000;
        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 REMOTE-HOST $remote_addr;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_http_version 1.1;      
        add_header X-Cache $upstream_cache_status;
}

测试访问

创建bucket并设置公共权限

上传一张图片到bucket进行访问测试

输入刚刚设置的api访问域名/bucket名称/文件名称 例如https://obj.minio.com/data/test.png进行测试

Picgo联动

Access Keys创建

记录生成的AK密钥

Picgo安装Minio支持插件

点击插件输入minio安装箭头指向的插件

新增配置

  • 图床配置名:随意填写
  • endPoint:填写服务器ip地址
  • port:填写API端口一般默认是9000
  • useSSL:默认不开启 按自身情况决定是否开启
  • ak密钥:输入之前记录的ak密钥
  • bucket:输入你的bucket名称
  • 自定义域名:可以输入已经反代的api端口域名比如 https://obj.test.com 这样上传后Picgo自动复制的url就是拼接后的地址

最后确定设置默认图床

上传图片测试

转自慕阳博客

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档