linux下minio部署和nginx配置

本文介绍了如何下载并部署Minio,包括设置环境变量和运行脚本。重点讲述了如何配置Nginx以正确映射域名到Minio的API和管理界面,以及解决WebSocket连接问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
https://min.io/docs/minio/linux/integrations/setup-nginx-proxy-with-minio.html?utm_term=&utm_campaign=&utm_source=adwords&utm_medium=ppc&hsa_acc=8976569894&hsa_cam=20593618271&hsa_grp=&hsa_ad=&hsa_src=x&hsa_tgt=&hsa_kw=&hsa_mt=&hsa_net=adwords&hsa_ver=3&gad_source=1&gclid=EAIaIQobChMIopXG3-6ThQMVzqNmAh2mXAUXEAAYASAAEgIPZvD_BwE

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值