项目中需要用到对象存储,并且系统需要断网情况下使用,由于 MinIO 兼容Amazon S3接口,对代码改动量最小。所以打算尝试使用验证下效果。这里快速部署一个 MinIO 做测试。
下载二进制文件
从官网下载二进制文件,并移动到 /usr/local/bin/ 目录下以便使用该命令。
[root@imzcy ~]# wget -c https://dl.min.io/server/minio/release/linux-amd64/minio -O minio
[root@imzcy ~]# chmod +x minio
[root@imzcy ~]# mv minio /usr/local/bin/[root@imzcy ~]# minio -v
minio version RELEASE.2023-12-23T07-19-11Z (commit-id=496027b589c2e23aa022751b6fc7c6c6f7b2766d)
Runtime: go1.21.5 linux/amd64
License: GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>
Copyright: 2015-2023 MinIO, Inc.
[root@imzcy ~]#创建启动用户和数据目录
[root@imzcy ~]# mkdir -p /data/minio
[root@imzcy ~]# groupadd -r minio-user
[root@imzcy ~]# useradd -M -r -g minio-user minio-user
[root@imzcy ~]# chown minio-user:minio-user -R /data/minio/
[root@imzcy ~]#创建配置文件
新建配置文件,定义数据目录位置以及初始管理员账号密码、监听端口信息。
- 9199:server 端口。
- 9001:控制台端口。
[root@imzcy ~]# cat /etc/default/minio
# Volume to be used for MinIO server.
MINIO_VOLUMES="/data/minio"
# Use if you want to run MinIO on a custom port.
MINIO_OPTS="--address :9199 --console-address :9001"
# Root user for the server.
MINIO_ROOT_USER=admin
# Root secret for the server.
MINIO_ROOT_PASSWORD=yourPassword
# set this for MinIO to reload entries with 'mc admin service restart'
MINIO_CONFIG_ENV_FILE=/etc/default/minio
[root@imzcy ~]#创建服务配置文件
配置文件中指定的 minio 可执行文件的位置、启动用户、配置文件等信息都要和上面对应上。
[root@imzcy ~]# cat /usr/lib/systemd/system/minio.service
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio
AssertFileNotEmpty=/etc/default/minio
[Service]
Type=notify
WorkingDirectory=/usr/local/
User=minio-user
Group=minio-user
ProtectProc=invisible
EnvironmentFile=/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
# Let systemd restart this service always
Restart=always
# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=1048576
# Specifies the maximum number of threads this process can create
TasksMax=infinity
# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no
[Install]
WantedBy=multi-user.target
# Built for ${project.name}-${project.version} (${project.name})
[root@imzcy ~]#启动服务
[root@imzcy ~]# systemctl start minio[root@imzcy ~]# systemctl status minio
● minio.service - MinIO
Loaded: loaded (/usr/lib/systemd/system/minio.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2023-12-28 17:15:47 CST; 52s ago
Docs: https://docs.min.io
Process: 9930 ExecStartPre=/bin/bash -c if [ -z "${MINIO_VOLUMES}" ]; then echo "Variable MINIO_VOLUMES not set in /etc/default/minio"; exit 1; fi (code=exited, status=0/SUCCESS)
Main PID: 9932 (minio)
CGroup: /system.slice/minio.service
└─9932 /usr/local/bin/minio server --address :9199 --console-address :9001 /data/minio
Dec 28 17:15:47 imzcy systemd[1]: Started MinIO.
Dec 28 17:15:47 imzcy minio[9932]: MinIO Object Storage Server
Dec 28 17:15:47 imzcy minio[9932]: Copyright: 2015-2023 MinIO, Inc.
Dec 28 17:15:47 imzcy minio[9932]: License: GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>
Dec 28 17:15:47 imzcy minio[9932]: Version: RELEASE.2023-12-23T07-19-11Z (go1.21.5 linux/amd64)
Dec 28 17:15:47 imzcy minio[9932]: Status: 1 Online, 0 Offline.
Dec 28 17:15:47 imzcy minio[9932]: S3-API: http://192.168.13.150:9199 http://127.0.0.1:9199
Dec 28 17:15:47 imzcy minio[9932]: Console: http://192.168.13.150:9001 http://127.0.0.1:9001
Dec 28 17:15:47 imzcy minio[9932]: Documentation: https://min.io/docs/minio/linux/index.html
Dec 28 17:15:47 imzcy minio[9932]: Warning: The standard parity is set to 0. This can lead to data loss.
[root@imzcy ~]#浏览器访问web控制台
浏览器中输入如下地址打开控制台,输入上面配置文件中定义的管理员账号密码登录。
http://<server-ip>:9001
登录后创建 bucket 、用户 并授权即可开始使用。
本文采用 知识共享署名4.0 国际许可协议进行许可。
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。
如果您的问题未解决,欢迎微信扫描右侧二维码与我联系。