企业建网站的案例,网站如何做问卷调查报告,上海保洁公司,长沙网站制作首页OnlyOffice配置minio文件存储
一、部署minio测试环境
拉取minio镜像 为了快速验证#xff0c;此处使用docker安装部署minio服务。先拉取minio最新版镜像资源。
-bash-4.2# docker pull minio/minio:latest
-bash-4.2# docker images | grep minio
minio/minio …OnlyOffice配置minio文件存储
一、部署minio测试环境
拉取minio镜像 为了快速验证此处使用docker安装部署minio服务。先拉取minio最新版镜像资源。
-bash-4.2# docker pull minio/minio:latest
-bash-4.2# docker images | grep minio
minio/minio latest e31e0721a96b 2 years ago 406MB配置启动配置 提前创建好目录在目录中创建config和data目录用于容器内挂载外部文件夹。
-bash-4.2# pwd
/opt/tools/minio
-bash-4.2# ll
总用量 4
drwxr-xr-x. 3 root root 19 4月 13 09:35 config
drwxr-xr-x. 5 root root 50 4月 13 11:30 data
-rw-r--r--. 1 root root 418 4月 7 11:32 docker-compose.yaml创建并配置docker-compose.yaml文件用于配置minio容器启动的相关配置其中9000端口是控制台默认管理员账号admin密码1qazWSX3edc9090端口是API服务访问。
version: 2
services:minio:image: minio/minio:latestcontainer_name: minioports:- 9000:9000- 9090:9090volumes:- /opt/tools/minio/data:/data- /opt/tools/minio/config:/root/.minioenvironment:MINIO_ROOT_USER: adminMINIO_ROOT_PASSWORD: 1qazWSX3edc command: server /data --console-address :9000 -address :9090 restart: always启动minio服务 配置docker-compose.yaml之后在docker-compose.yaml同级目录中执行docker-compose up -d命令启动容器。
-bash-4.2# docker-compose up -d
Recreating minio ... done
-bash-4.2# docker ps | grep minio
91498cf332b6 minio/minio:latest /usr/bin/docker-ent… 13 seconds ago Up 12 seconds 0.0.0.0:9000-9000/tcp, 0.0.0.0:9090-9090/tcp minio启动minio服务后访问minio控制台http://192.168.95.131:9000192.168.95.131为测试机IP如下图可正常登录访问则minio服务已正常启动。
二、创建用户和桶并绑定操作权限 新部署的环境目前没有用户和桶需要新创建桶和新创建用户※创建桶和用户目的是为了用户和桶进行操作绑定用于不同用户之间的操作隔离。此处不是必须此处可略过可直接使用管理员账号创建桶和秘钥进行文件操作。
创建桶 此处创建一个名为test的桶默认就是私有的无特殊情况无需修改。
创建桶操作权限 由于minio默认的操作权限不是指定桶的权限比较大此处创建一个权限用于限制用户的操作使用户只能操作test这个桶。 配置内容如下其中版本不要修改。
{Version: 2012-10-17,Statement: [{Effect: Allow,Action: [s3:GetBucketLocation,s3:GetObject],Resource: [arn:aws:s3:::test]},{Effect: Allow,Action: [s3:*],Resource: [arn:aws:s3:::test/*]}]
}创建用户并绑定权限 创建用户的时候只需要配置上之前创建的test权限即可。注意当前用户只是控制台的操作用户还不能用于开发测试。
创建用户秘钥 因为创建了新的用户账号所以秘钥就不通过默认管理员创建了此处切换新建的用户登录。 秘钥详情如下至此测试准备内容完成。
{console: [{access_key: YDZXGAREEE0FWVGJLPC8,secret_key: mVCw1twNhkl80ILKjooLuIXuM3VancHMMjGtVUw}]
}此处简单的验证下minio的连接访问为了简便此处使用Node.js环境进行测试。注意安装相关依赖npm install aws-sdk使用aws-sdk v2版本的原因是因为配合测试的onlyoffice版本是7.3.3默认用的就是v2版本。
//引用aws-sdk
const aws require(aws-sdk);
//配置 minio或s3
const config {region: us-east-1,endpoint: http://192.168.95.131:9090,accessKeyId: YDZXGAREEE0FWVGJLPC8,//access_keysecretAccessKey: mVCw1twNhkl80ILKjooLuIXuM3VancHMMjGtVUw,//secret_keys3ForcePathStyle: true
}
//加载配置信息
aws.config.update(config)
//创建客户端
const s3Client new aws.S3()
//配置服务地址
s3Client.endpoint new aws.Endpoint(config.endpoint);
//查看test桶根目录的文件最多不超过10个文件
s3Client.listObjects({Bucket: test, MaxKeys: 10, Delimiter: /,}, (err, data) {console.log(data)
})查看执行结果测试连接成功test桶中没有任何文件可证明minio测试环境没有问题。
D:\Program Files\nodejs\node.exe D:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js test --scripts-prepend-node-pathauto test31.0.0 testnode aws/v2_test.js(node:31360) NOTE: The AWS SDK for JavaScript (v2) will enter maintenance mode
on September 8, 2024 and reach end-of-support on September 8, 2025.Please migrate your code to use AWS SDK for JavaScript (v3).
For more information, check blog post at https://a.co/cUPnyil
(Use node --trace-warnings ... to show where the warning was created)
{IsTruncated: false,Marker: ,Contents: [],Name: test,Prefix: ,Delimiter: /,MaxKeys: 10,CommonPrefixes: []
}Process finished with exit code 0三、修改OnlyOffice配置文件并重启 修改development-linux.json配置文件修改其中storage节点的相关配置默认是本地存储只需要替换掉默认的配置即可此处请参考onlyoffice官方文档AWS S3配置说明。 配置详细信息如下注意minio服务端口是9090不要跟控制台9000端口搞混。当服务重启后onlyoffice将会把文件保存到minio文件服务中test桶的files文件夹中。
{storage: {name: storage-s3,region: us-east-1,endpoint: http://192.168.95.131:9090,bucketName: test,storageFolderName: files,urlExpires: 604800,accessKeyId: YDZXGAREEE0FWVGJLPC8,secretAccessKey: mVCw1twNhkl80ILKjooLuIXuM3VancHMMjGtVUw,useRequestToGetUrl: true,useSignedUrl: true,sslEnabled: false,s3ForcePathStyle: true}
}接下来重启onlyoffice服务此处使用docker图形化工具Portainer偷个懒。
四、验证切换minio存储是否生效 首先启动官方示例Node.js工程。访问http://127.0.0.1:3000由于本机运行所以此处使用127.0.0.1此处截图提前先切换了语言为中文。 接下来新建个文档看看文件是否保存到了minio中为了效果看着好点这里就选了excel。 注意重点不是这个文档而是onlyoffice服务是否将文件存储到了minio文件服务中接下来使用minio控制台查看下test桶中的文件信息。
备注 因为onlyoffice本身就支持aws s3而minio本身又兼容aws s3。所以才会使用minio来做文件存储目前onlyoffice仅支持本地存储和aws s3存储。