minio安裝部署及使用的詳細(xì)過程_第1頁
minio安裝部署及使用的詳細(xì)過程_第2頁
minio安裝部署及使用的詳細(xì)過程_第3頁
minio安裝部署及使用的詳細(xì)過程_第4頁
minio安裝部署及使用的詳細(xì)過程_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第minio安裝部署及使用的詳細(xì)過程目錄一、服務(wù)器安裝minio1.進(jìn)行下載2.新建minio安裝目錄,執(zhí)行如下命令二、進(jìn)行訪問,并設(shè)置桶1.訪問三、springboot進(jìn)行實現(xiàn)1.引入依賴2.在application.yml文件中加入MinIO服務(wù)器的相關(guān)信息3.創(chuàng)建實體類4.創(chuàng)建核心配置類5.上傳工具類6.controller接口測試總結(jié)

一、服務(wù)器安裝minio

1.進(jìn)行下載

下載地址:

GNU/Linux

https://dl.min.io/server/minio/release/linux-amd64/minio

2.新建minio安裝目錄,執(zhí)行如下命令

mkdir-p/home/minio/data

把二進(jìn)制文件上傳到安裝目錄后,執(zhí)行:

chmod+xminio//給予權(quán)限

exportMINIO_ACCESS_KEY=minioadmin//創(chuàng)建賬號

exportMINIO_SECRET_KEY=minioadmin//創(chuàng)建密碼

./minioserver/home/minio/data//啟動

后臺啟動,并打印日志

nohup./minioserver/home/minio/data/home/minio/data/minio.log

默認(rèn)的端口為:9000

自定義端口方式:自定義啟動端口號以及控制臺端口號,不設(shè)置則控制臺會自動配置其他端口號,非常不方便

nohup./minioserver--address:9000--console-address:9001/home/minio/data/home/minio/data/minio.log

查看狀態(tài)

ps-ef|grepminio

二、進(jìn)行訪問,并設(shè)置桶

1.訪問

地址::9000

輸入賬號密碼后:

進(jìn)行創(chuàng)建桶,名字自取,創(chuàng)建完成后服務(wù)器home/minio/data下也會創(chuàng)建這個文件目錄

進(jìn)行設(shè)置:

必須將規(guī)則設(shè)置成readwrite,才可進(jìn)行讀取文件,否則只存或者只能讀。

三、springboot進(jìn)行實現(xiàn)

1.引入依賴

!--minio相關(guān)依賴--

dependency

groupIdio.minio/groupId

artifactIdminio/artifactId

version3.0.10/version

/dependency

!--alibaba的fastjson--

dependency

groupIdcom.alibaba/groupId

artifactIdfastjson/artifactId

version1.2.51/version

/dependency

!--thymeleaf模板引擎--

dependency

groupIdorg.springframework.boot/groupId

artifactIdspring-boot-starter-thymeleaf/artifactId

/dependency

2.在application.yml文件中加入MinIO服務(wù)器的相關(guān)信息

#minio文件存儲配置信息

minio:

endpoint::9000

accesskey:minioadmin

secretKey:minioadmin

3.創(chuàng)建實體類

這一步,我們將配置文件中minio的配置信息通過注解的方式注入到MinioProp這個實體中,方便后面我們使用

importlombok.Data;

importperties.ConfigurationProperties;

importorg.springframework.stereotype.Component;

*minio屬性值

@Data

@Component

@ConfigurationProperties(prefix="minio")

publicclassMinioProp{

*連接url

privateStringendpoint;

*用戶名

privateStringaccesskey;

*密碼

privateStringsecretKey;

4.創(chuàng)建核心配置類

通過注入MinIO服務(wù)器的相關(guān)配置信息,得到MinioClient對象,我們上傳文件依賴此對象

importio.minio.MinioClient;

importio.minio.errors.InvalidEndpointException;

importio.minio.errors.InvalidPortException;

importorg.springframework.beans.factory.annotation.Autowired;

importperties.EnableConfigurationProperties;

importorg.springframework.context.annotation.Bean;

importorg.springframework.context.annotation.Configuration;

*minio核心配置類

@Configuration

@EnableConfigurationProperties(MinioProp.class)

publicclassMinioConfig{

@Autowired

privateMinioPropminioProp;

*獲取MinioClient

*@return

*@throwsInvalidPortException

*@throwsInvalidEndpointException

@Bean

publicMinioClientminioClient()throwsInvalidPortException,InvalidEndpointException{

returnnewMinioClient(minioProp.getEndpoint(),minioProp.getAccesskey(),minioProp.getSecretKey());

5.上傳工具類

importcom.alibaba.fastjson.JSONObject;

importmon.redis.RedisUtil;

importcom.zyxx.email.utils.DateUtils;

importio.minio.MinioClient;

importlombok.SneakyThrows;

importlombok.extern.slf4j.Slf4j;

importorg.springframework.beans.factory.annotation.Autowired;

importorg.springframework.stereotype.Component;

importorg.springframework.web.multipart.MultipartFile;

@Slf4j

@Component

publicclassMinioUtils{

@Autowired

privateMinioClientclient;

@Autowired

privateMinioPropminioProp;

*創(chuàng)建bucket

*@parambucketNamebucket名稱

@SneakyThrows

publicvoidcreateBucket(StringbucketName){

if(!client.bucketExists(bucketName)){

client.makeBucket(bucketName);

*上傳文件

*@paramfile文件

*@parambucketName存儲桶

*@return

publicJSONObjectuploadFile(MultipartFilefile,StringbucketName)throwsException{

JSONObjectres=newJSONObject();

res.put("code",0);

//判斷上傳文件是否為空

if(null==file||0==file.getSize()){

res.put("msg","上傳文件不能為空");

returnres;

try{

//判斷存儲桶是否存在

createBucket(bucketName);

//文件名

StringoriginalFilename=file.getOriginalFilename();

//新的文件名=存儲桶名稱_時間戳.后綴名

StringfileName=bucketName+"_"+System.currentTimeMillis()+originalFilename.substring(originalFilename.lastIndexOf("."));

//開始上傳

client.putObject(bucketName,fileName,file.getInputStream(),file.getContentType());

res.put("code",1);

res.put("msg",minioProp.getEndpoint()+"/"+bucketName+"/"+fileName);

returnres;

}catch(Exceptione){

log.error("上傳文件失?。簕}",e.getMessage());

res.put("msg","上傳失敗");

returnres;

6.controller接口

importcom.alibaba.fastjson.JSONObject;

importmon.minio.MinioUtils;

importorg.springframework.beans.factory.annotation.Autowired;

importorg.springframework.stereotype.Cont

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論