一、安装
在需要存放的相应位置下创建minio目录并在minio中分别创建红框内的目录
进入刚刚创建的bin目录中
下载
wget https://dl.min.io/server/minio/release/linux-amd64/minio
给刚刚下载的文件添加执行权限
chmod +x minio
启动脚本
在minio目录下创建startup.sh文件,具体创建方法随意,这里我采用Xftp图形化创建,接着将以下内容复制、粘贴、保存(注:按自己相应存放路径和需求更改)
#!/bin/bash
# 设置MinIO的配置参数
# 用户名
export MINIO_ROOT_USER=admin
# 密码
export MINIO_ROOT_PASSWORD=admin# S3-API端口
export MINIO_ADDRESS=":8800" # 可按需修改# Console控制台页面访问端口
export MINIO_CONSOLE_ADDRESS=":8801" # 可按需修改# 设置MinIO安装路径
export MINIO_PATH_DIR="/usr/local/minio/bin"# 设置MinIO配置文件路径
export MINIO_CONFIG_DIR="/usr/local/minio/config"# 设置数据存储路径
export MINIO_DATA_DIR="/usr/local/minio/data"# 设置日志存储路径
export MINIO_LOG_DIR="/usr/local/minio/log"# 启动MinIO服务器
nohup $MINIO_PATH_DIR/minio server --address $MINIO_ADDRESS --console-address $MINIO_CONSOLE_ADDRESS --config-dir $MINIO_CONFIG_DIR $MINIO_DATA_DIR > $MINIO_LOG_DIR/minio.log 2>&1 &# 输出启动信息
echo "MinIO started. Logs can be found at $MINIO_LOG_DIR/minio.log"
给刚刚的startup.sh文件赋予可执行文件
chmod +x startup.sh
关闭脚本
在minio目录下创建shutdown.sh文件,和启动脚本一样的步骤,复制以下内容粘贴
#!/bin/bash
echo "shutdown minio"
pid=`ps -ef | grep 'minio server' | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
kill -9 $pid
fi
echo "Success!"
给shutdown.sh文件赋予可执行权限
chmod +x shutdown.sh
启动minio
./startup.sh
查看是否成功启动,启动成功会出现启动脚本定义的端口
ps anx | grep minio
windows打开控制台,ip+端口号访问(http://ip:8801),输入账号密码登录
如遇到打不开需要检查一下防火墙是否已经放行对应端口
使用云服务器的安全组也需要放行对应端口
新建一个桶(和创建文件目录一个意思)
这里新建了一个text的桶,即新建了一个名为text的目录,名字随意,接着Create Bucket
进入桶修改 Access Policy为pubilc,否则无法直接访问文件(按需设置)
上传文件
访问刚刚上传的文件
文件的访问地址的格式为http://{IP}:{S3-API端口}/{bucket}/{name};
如访问不成功注意是不是端口写错了,是 S3-API端口
踩坑日常:由于多个项目需要部署在同一台服务器,分别存放在不同的桶中,因此创建了新的桶,给予了public权限,但是项目更换桶名时上传图片报错 《创建Bucket失败,请核对配置信息:[Unable to execute HTTP request: Connect to127.0.0.1:9000》 排查一天也没解决,使用minio控制台上传和查看都没问题,服务器也重启minio,最终摆烂第二天自己就正常了,暂不清楚什么原因造成,但最后还是无法使用两个桶,也没找到好的教程。
二、升级为https
按照以上步骤已经可以使用http进行访问了,但是大部分网站使用https服务,浏览器加载不出来http图片,因此需要将minio升级为https访问,本文利用nginx来进行配置
在443端口处配置相关证书信息,具体操作本文暂不提供
接着将以下内容以下内容复制放到443端口块中
location / {
proxy_pass http://127.0.0.1:8800;
# 添加了websocket支持
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
注意替换为自己的端口,重新加载nginx
systemctl reload nginx
由于本人能力有限,目前只能在根目录下才起效果,加了后缀就没法访问,比如 location /minio{},后续有想法再更改,我这里8800是 {S3-API端口} 上传数据的,至此利用java上传的图片url则以https开头
8801是我的minio控制台端口,替换端口重新加载nginx后就可https访问minio控制台
暂时先写到这吧!!!!!!!!!!!!!!!!!!!!!!!!