当前位置:首页 > 技术分享

宝塔搭建thinkphp 和 MinIO 私有云存储方案

admin1年前 (2025-04-18)技术分享994

当需要搭建私有云存储时MinIO 是一个不错的选择

MinIO 是一个高性能、轻量级对象存储服务器,专为大规模数据存储和分析而设计。它兼容 Amazon S3 API,可以无缝替代 Amazon S3 作为存储后端,并且支持在各种环境中部署,包括物理服务器、虚拟机、容器等。

1.安装

(1).在宝塔上安装Docker

(2).Docker应用商店中搜索MinIO 安装即可

2.在ThinkPHP6中使用亚马逊S3作为存储需要使用一个适合的库来与S3接口交互。这里我们可以使用league/flysystem-aws-s3-v3库来实现

composer require league/flysystem-aws-s3-v3  aws/aws-sdk-php

然后,在ThinkPHP6中配置S3存储驱动。在config目录下创建一个新的配置文件,例如filesystem.php,并配置S3相关信息:

// config/filesystem.php
return [
    'default' => 's3',
    'disks'   => [
        's3' => [
            'type' => 'AwsS3',
            'key' => 'your-aws-access-key-id',
            'secret' => 'your-aws-secret-access-key',
            'region' => 'your-aws-default-region', // 例如 ap-southeast-1
            'version' => 'latest',
            'bucket_endpoint' => false,
            'use_path_style_endpoint' => false,
            'endpoint' => 'https://s3.example.com', // 亚马逊S3的endpoint
            'bucket_name' => 'your-bucket',
        ],
        // 如果需要配置更多的磁盘,可以在这里添加
    ],
];

接下来,在应用中使用S3存储。例如,上传文件:

use League\Flysystem\Filesystem;
use League\Flysystem\AwsS3V3\AwsS3V3Adapter;
use Aws\S3\S3Client;
 
// 创建S3客户端
$s3 = new S3Client([
    'version' => 'latest',
    'region'  => 'your-aws-default-region',
    'credentials' => [
        'key'    => 'your-aws-access-key-id',
        'secret' => 'your-aws-secret-access-key',
    ],
]);
 
// 创建适配器
$adapter = new AwsS3Adapter($s3, 'your-bucket');
 
// 创建文件系统对象
$filesystem = new Filesystem($adapter);
 
// 上传文件
$filesystem->write('example.txt', 'contents');

// 上传图片
$filePath = '/Sites/img/test.jpeg';
$s3FilePath = 'public/test.jpeg';
$filesystem->write($s3FilePath, file_get_contents($filePath));

// 获取公开链接
$url = $s3->getObjectUrl('your-bucket', $s3FilePath);
echo $url;


扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/665.html

分享给朋友:

“宝塔搭建thinkphp 和 MinIO 私有云存储方案” 的相关文章

php-cgi占用太多cpu资源而导致服务器响应过慢 利用进程和Linux的proc 定位耗资源文件

php-cgi占用太多cpu资源而导致服务器响应过慢 利用进程和Linux的proc 定位耗资源文件

在此环境下,一般php-cgi运行是非常稳定的,但也遇到过php-cgi占用太多cpu资源而导致服务器响应过慢,我所遇到的php-cgi进程占用cpu资源过多的原因有: 1. 一些php的扩展与php版本兼容存在问题,实践证明 e…

解决 SVN Skipped 'xxx' -- Node remains in conflict

更新命令:svn up提示代码:意思就是说 ,这个文件冲突了,你要解决下Updating '.': Skipped 'data/config.php' -- …

超高性比的斐讯盒子T1,刷第三方YYF固件机教程超级详细版

超高性比的斐讯盒子T1,刷第三方YYF固件机教程超级详细版

家里面买了斐讯盒子T1,必不可少的就是刷机,刷机一直爽,一直刷机一直爽,这样的快乐一般人体会不到。原来斐讯盒子N1,T1,还有斐讯K2P路由器也变成了性价比超高的东东,而且众多大神也带来了超多可玩性非常高的固件和破解。楼主今天扒到了相关超高…

2021可用的百度网盘高速下载方法分享

2021可用的百度网盘高速下载方法分享

最新可用方法https://blog.bitefu.net/post/163.html方法很简单就是利用网盘直链下载助手【网盘直链下载助手】是一款免费开源获取网盘文件真实下载地址的油猴脚本,基于PCSAPI,支持Windows,Mac,Li…

微软Windows 10升级密钥(例如家庭版升级为企业版) 不能用于激活系统

微软Windows 10升级密钥(例如家庭版升级为企业版) 不能用于激活系统

下面的密钥,是微软官方提供的,仅能用于Windows10系统版本的升级,比如从家庭版升级为专业版、专业版升级为企业版等。升级密钥不能用于激活系统,激活需要KMS或者数字权利,由于涉及到版权问题,在此不宜分享,请大家自行查找激活相关的内容。准…

百度云网盘高速下载方法[测试可用]

百度云网盘高速下载方法[测试可用]

大前提这是一个油猴脚本,安装脚本之前,必须先安装油猴浏览器扩展(如已安装则跳过):【第一步】下载油猴 --> 如有提示安装,则直接安装即可,否则继续执行第二步【第二步】安装油猴 --> 参考其中章节:&nbs…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。