linux下minio部署和nginx配置

1 下载minio

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
#启动minio,文件数据存放在/data目录
./minio server /data

2 部署minio

下载minio后赋予可执行权限就可以运行了,这里我整理了遇到的坑和解决问题的最终配置

在minio同目录下创建一个运行脚本run.sh,脚本写入如下内容

#!/bin/bash
export MINIO_ROOT_USER=minioadmin
export MINIO_ROOT_PASSWORD=密码
export MINIO_BROWSER_REDIRECT_URL=https://oss.example.com
export MINIO_SERVER_URL=https://ossapi.example.com
export CONSOLE_SECURE_TLS_REDIRECT="off"
/opt/minio/minio server /data --console-address ":9090" > /data/minio.log 2>&1 &

以后进入minio可执行目录./run.sh就可以运行minio了,如果minio已经运行先kill掉

其中

export MINIO_BROWSER_REDIRECT_URL=https://oss.example.com
export MINIO_SERVER_URL=https://ossapi.example.com
export CONSOLE_SECURE_TLS_REDIRECT="off"

这个配置是解决minio在分享链接的时候是127.0.0.1这样的地址
我这里准备了两个域名,一个oss.example.com对应的minio的网页管理地址,另一个ossapi.example.com是minio的api访问地址

3 nginx配置

nginx这里有个坑就是配置好minio后websocket一直查询不到Bucket里面的文件,不是查询不到,是webscoket根本不通,报错内容如下,找了很多解决方案
在这里插入图片描述

WebSocket connection to 'wss://oss.example.com/ws/objectManager' failed: Error during WebSocket handshake: Unexpected response code: 400
Error in websocket connection. Attempting reconnection...

这块配置好之后就是分享链接一直是127.0.0.1的这种ip地址,这块按照第二步的配置MINIO_BROWSER_REDIRECT_URLMINIO_SERVER_URLCONSOLE_SECURE_TLS_REDIRECT

发一下我的nginx配置

upstream minio_console {
    server 127.0.0.1:9090 max_fails=3 fail_timeout=5s;
}
upstream minio_api {
    server 127.0.0.1:9000 max_fails=3 fail_timeout=5s;
}
 
server {
    listen         443 ssl;
    server_name    oss.example.com;
    
    proxy_headers_hash_max_size 1024;
    proxy_headers_hash_bucket_size 128;   
    ssl_certificate /opt/ssl/oss/server.crt;
    ssl_certificate_key /opt/ssl/oss/server.key;
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    client_max_body_size      1G;
    client_header_timeout     1m;
    client_body_timeout       1m;
    proxy_connect_timeout     60s;
    proxy_read_timeout        1m;
    proxy_send_timeout        1m;
 
    location / {
        proxy_pass              http://minio_console;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version      1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header        Host  $http_host;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }   
}
 
server {
    listen          80;
    listen          443 ssl;
    server_name     ossapi.example.com;
  
    proxy_headers_hash_max_size 1024;
    proxy_headers_hash_bucket_size 128; 

    ssl_certificate /opt/ssl/oss/ossapi.crt;
    ssl_certificate_key /opt/ssl/oss/ossapi.key;
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    client_max_body_size     1G;
    client_header_timeout    1m;
    client_body_timeout      1m;
    proxy_connect_timeout    60s;
    proxy_read_timeout       1m;
    proxy_send_timeout       1m;
 
    location / {
        proxy_pass              http://minio_api;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version      1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header        Host  $http_host;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

在这里插入图片描述

参考资料

https://github.com/minio/minio

相关推荐

  1. Nginx部署配置优化

    2024-03-27 08:06:04       28 阅读
  2. Minio docker容器化部署配置详情

    2024-03-27 08:06:04       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-27 08:06:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-27 08:06:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-27 08:06:04       82 阅读
  4. Python语言-面向对象

    2024-03-27 08:06:04       91 阅读

热门阅读

  1. C#学习笔记

    2024-03-27 08:06:04       41 阅读
  2. Redis的持久化机制是怎样的?

    2024-03-27 08:06:04       42 阅读
  3. Day58| 739 每日温度 496 下一个更大元素 I

    2024-03-27 08:06:04       39 阅读
  4. Django——Ajax请求

    2024-03-27 08:06:04       38 阅读
  5. 2960. 统计已测试设备

    2024-03-27 08:06:04       41 阅读
  6. 5.92 BCC工具之bitesize.py解读

    2024-03-27 08:06:04       35 阅读