linux下minio部署和nginx配置

news2024/12/29 3:16:28

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1559484.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ngrok 内网穿透使用

title: ngrok 内网穿透使用 search: 2024-02-29 文章目录 背景Windows安装ngrok指令授权ngrok个人用户Authtoken穿透 http 或 https 服务ngrok的代理http指令ngrok获得静态域名指令ngrok的代理ssh指令 背景 这次寒假回家,很无奈,很多东西放在项目组服务…

vuex插件实现数据共享

vuex插件 vuex是管理多个vue通用的数据的插件.(状态管理工具,状态是数据) 我们对于多个vue文件之间的共同数据,是用props传递,或者对于一个vue实例对象,进行绑定,传参,也是多次传参,多个文件之间,比较麻烦. 但是我们vuex会创建一个公共对象,从这个公共对象上赋值,比较简单易…

HarmonyOS 应用开发之使用隐式Want打开网址

以打开浏览器为例,假设设备上安装了一个或多个浏览器应用。为了使浏览器应用能够正常工作,需要在 module.json5配置文件 进行配置,具体配置如下: {"module": {..."abilities": [{..."skills": [{&…

Spring面试题(二)

一、老杜讲解Spring6整理 1. Spring有哪几大模块? 2. IoC控制反转的实现是依赖注入,set依赖注入的原理是什么? 3. 自动装配有哪几种?它的原理是基于构造注入还是基于set注入? 4. Spring容器中的Bean是单例还是多例…

Mybatis-Plus分页查询时碰到`total`有值但`records`为空

个人原因:Mybatis-Plus分页插件设置了maxLimit单页条数 // 分页插件配置 PaginationInnerInterceptor paginationInnerInterceptor new PaginationInnerInterceptor(DbType.MYSQL); paginationInnerInterceptor.setMaxLimit(200L); // 单页分页条数限制(默认无限…

博客页面---前端

目录 主页 HTML CSS 文章详细页面 HTML CSS 登录页面 HTML CSS 文章编辑页 HTML CSS 这只是前端的页面组成&#xff0c;还没有接入后端&#xff0c;并不是完全体 主页 HTML <!DOCTYPE html> <!-- <html lang"en"> --> <head>&…

【PSINS工具箱】基于工具箱,自己设计的轨迹,并生成IMU数据和三维视图(完整代码)

完整代码 在有工具箱的情况下&#xff0c;直接运行代码&#xff0c;即可 % 基于PSINS工具箱的三维轨迹生成、三维图像绘制与IMU数据生成 % date:2024-2-13 % Evand&#xff08;evandworldqq.com&#xff09; % Ver1 clear;clc;close all; glvs ts 0.1; % sampling int…

Redis(十九)缓存过期淘汰策略

文章目录 面试题内存满怎么办写入的数据如何删除的&#xff08;删除策略&#xff09;立即删除惰性删除上面两种方案都走极端 缓存淘汰策略配置文件LRU和LFU区别有哪些如何配置、修改 redis缓存淘汰策略配置性能建议 面试题 生产上你们的redis内存设置多少?如何配置、修改redi…

动态规划-最长回文子串

动态规划-最长回文子串 原题描述解答中心移动思想代码实现复杂度分析时间复杂度空间复杂度 动态规划思想代码实现复杂度分析时间复杂度空间复杂度 突然觉得很有必要将学过的内容记录下来&#xff0c;这样后续在需要用到的时候就可以避免从头进行学习&#xff0c;而去看自己之前…

【Threejs基础教程-光影篇】5.2 Threejs 阴影系统

5.2 Threejs阴影系统 学习ThreeJS的捷径在用光影系统之前threejs是实时光影web端目前没有优质的实时光影实时光影会大幅增加渲染压力没有独显的电脑不建议添加实时光影 阴影配置什么样的灯光可以产生阴影什么样的物体可以产生阴影和接受阴影注意开启阴影渲染灵活运用阴影 平行光…

【Linux】普通用户提升权限

概述 在Linux环境下&#xff0c;给普通用户提权的方式&#xff0c;su与sudo命令&#xff0c;su是将一个普通用户登录为root&#xff0c;而sudo则是将普通用户短暂提升权限 普通用户使用$ root使用# 使用su提升权限 如果我们使用su将用户提升为root&#xff0c;此时需要输入…

计算机网络:数据链路层 - 封装成帧 透明传输 差错检测

计算机网络&#xff1a;数据链路层 - 封装成帧 & 透明传输 & 差错检测 数据链路层概述封装成帧透明传输差错检测 数据链路层概述 从数据链路层来看&#xff0c;主机 H1 到 H2 的通信可以看成是在四段不同的链路上的通信组成的&#xff0c;所谓链路就是从一个节点到相邻…

回溯算法|39.组合总和

力扣题目链接 class Solution { private:vector<vector<int>> result;vector<int> path;void backtracking(vector<int>& candidates, int target, int sum, int startIndex) {if (sum > target) {return;}if (sum target) {result.push_back…

CISP考前笔记

1软件需求分析是保证软件质量的重要步骤&#xff0c;它的实施应该是在 软件定义阶段 1语句覆盖最弱&#xff0c;只需要让程序中的语句都执行一遍即可 。分支覆盖又称判定覆盖&#xff1a;使得程序中每个判断的取真分支和取假分支至少经历一次&#xff0c;即判断的真假均曾被满足…

K8S命令行可视化实验

以下为K8s命令行可视化工具的实验内容&#xff0c;相比于直接使用命令行&#xff0c;可视化工具可能更直观、更易于操作。 Lens Lens是用于监控和调试的K8S IDE。可以在Windows、Linux以及Mac桌面上完美运行。在 Kubernetes 上&#xff1a; 托管地址&#xff1a;github/lensa…

登录者个人信息查询

目录 &#x1f95e;1.vo层描述 &#x1f37f;2..vo层创建 &#x1f32d;3.编写controller层 &#x1f953;4.service层 &#x1f9c2;5.测试 1.vo层描述 Spring Boot项目中的实体类通常用于映射数据库表&#xff0c;包含了业务对象的所有属性。然而&#xff0c;前端或其…

Verilog基础【一】

文章目录 1.1 第一个verilog设计1.2 Verilog 简介1.3 Verilog环境搭建1.4 Verilog 设计方法设计方法设计流程 2.1 Verilog 基础语法格式注释标识符与关键字 2.2 Verilog 数值表示数值种类整数数值表示方法实数表示方法十进制&#xff1a;科学计数法&#xff1a; 字符串表示方法…

如何做慢查询优化?

如何做慢查询优化&#xff1f; 这个问题可以说是一个高频问题&#xff0c;总是被问到&#xff0c;今天来总结下这个问题。 慢查询&#xff0c;就是 SQL 查询中耗时比较大的一类查询&#xff0c;MySQL 提供了慢查询日志 slow_query_log&#xff0c; 它会记录耗时大于我们设置…

【Chapter2】进程、线程与作业,计算机操作系统教程,第四版,左万利,王英

文章目录 [toc] 一、多道程序设计1.1单道程序设计的缺点1.2多道程序设计的提出1.3多道程序设计存在的问题 二、进程的引入2.1进程的概念2.2进程的组成2.2.1进程控制块2.2.2程序 2.3进程的类型及特征2.3.1进程的类型2.3.2进程的特征 2.4进程的状态及转换2.4.1进程的状态创建态就…

项目亮点—动态线程池管理工具

问题 你是否在项目中使用线程池遇到过以下问题&#xff1f; 1.创建线程池核心参数不好评估&#xff0c;随着业务流量的波动&#xff0c;极有可能出现生产故障。 2.不支持优雅关闭&#xff0c;当项目关闭时&#xff0c;大量正在运行的线程池任务被丢弃。 3.不支持运行时监控…