Centos7安装minio

1.下载安装包

进入MinIO官网
在这里插入图片描述
点击 linux-amd64(上图中圈起来的地方)
点击miio(下图中圈起来的地方),即开始下载minio的运行程序
在这里插入图片描述

2.配置

将上面步骤下载好的文件复制到Linux中
在这里插入图片描述
赋予执行权限

chmod +x minio

minio变绿
在这里插入图片描述
创建minio数据存放路径

mkdir -p /home/minio/data

在这里插入图片描述
赋予每个人整个minio文件夹读、写的权限
在这里插入图片描述
配置用于登录minio控制台的用户和密码

vim /etc/profile

文件最后一行加上
在这里插入图片描述
使配置生效

source /etc/profile

3.编写Shell启动脚本

下面内容复制
minio_pid_count=ps -ef|grep "minio server"|wc -l

#如果有minio进程则杀掉
if (($minio_pid_count  1));
then ./stop
fi


echo "minio is starting..."

console_port=9099 #控制台端口
server_port=9098  #服务端口
log_path=/home/minio/minio.log #日志文件路径(自定义)
minio_program_path=/home/minio/minio #minio应用程序所在路径
data_dir=/home/minio/data #数据存放路径(自定义)

#使用一些参数并 以后台运行的方式启动MinIO,同时写入日志文件
nohup $minio_program_path server $data_dir --console-address ":$console_port" --address ":$server_port"  $log_path 2&1 &

echo "console-port:$console_port"
echo "api-port:$server_port"
echo "minio-log-path:$log_path"
echo "MINIO_ROOT_USER:${MINIO_ROOT_USER}"
echo "MINIO_ROOT_PASSWORD:${MINIO_ROOT_PASSWORD}"
echo "certs_dir:${certs_dir}"
echo "minio is started successfully!"

在这里插入图片描述
赋予执行权限

停止脚本编写

vim stop

在这里插入图片描述
下面内容复制

pid=ps -ef | grep "minio server" | grep -v grep | awk '{print $2}'

kill -9 $pid

echo "minio is stopped"

4.启动

sh start.sh

启动成功,可见控制台端口是9099
在这里插入图片描述

防火墙开放9099端口
firewall-cmd --add-port=9099/tcp --permanent
重启防火墙生效
firewall-cmd --reload

在这里插入图片描述

5.Java简单使用MinIO

5.1创建Access Key

进入minio控制台,点击Access Keys,记得保存key和秘钥一旦创建没法看秘钥了
在这里插入图片描述
在这里插入图片描述

5.2编写简单代码测试上传功能

导入依赖或对应依赖包,我这里是maven项目,直接导入依赖

io.minio
minio
8.0.0

注意:我这里使用9098作为minio服务端口,也需要开放
firewall-cmd --add-port=9098/tcp --permanent
刷新防火墙
firewall-cmd --reload
准备一个文件
编写测试代码

import io.minio.BucketExistsArgs;
import io.minio.MakeBucketArgs;
import io.minio.MinioClient;
import io.minio.PutObjectArgs;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

public class Test {

  public static void main(String[] args) {
    try {
      /**
       *  模拟上传文件
       **/
      String filePath = "D:\\1715585725407 - 副本.jpg"; //要上传的文件路径
      String serverAddress = "http://192.168.86.136:9098"; //minio服务端地址 注意端口与控制台端口不一样
      String accessKey = "你在minio控制台创建的accessKey";
      String secretKey = "accessKey对应的secretKey";
      String bucketName = "livzon";

      //1.创建minio客户端
      MinioClient minioClient = MinioClient.builder()
          .endpoint(serverAddress)
          .credentials(accessKey, secretKey)
          .build();
      //2.判断存储桶是否存在,不存在则创建
      boolean exists = minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build());
      if (!exists){
        minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build());
      }

      //3.创建file对象
      File file = new File(filePath);

      //4.file转输入流并上传
      InputStream in = null;
      try {
        in = new FileInputStream(file);
        minioClient.putObject(PutObjectArgs.builder()
            .bucket(bucketName)
            .object("文件名111.txt")  //文件名也写死了 所以同名文件会覆盖
            .stream(in, in.available(), -1)
            .contentType("txt")  //文件类型,这里写死了,实际上需要根据文件动态获取
            .build()
        );
      } catch (Exception e) {
        e.printStackTrace();
      } finally {
        if (in != null) {
          try {
            in.close();
          } catch (IOException e) {
            e.printStackTrace();
          }
        }
      }
    }catch (Exception e){
      e.printStackTrace();
    }
  }
}

测试-上传成功
在这里插入图片描述
修改访问权限才能展示
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值