一、下载最新版本:
- 操作系统Ubuntu20.04.3
# 下载服务端
wget https://dl.min.io/server/minio/release/linux-amd64/minio
# 将下载所得minio文件拷贝到自己的文件夹去并赋予权限
sudo cp minio /usr/local/Minio
sudo chmod +x /usr/local/Minio/minio
#在安装目录下建立一个文件
sudo mkdir /data
二、安装目录下启动:
sudo ./minio server /data --console-address ":9099"
- MinIO启动后,可以在浏览器中输入http://ip:9099,在用户名密码处输入默认用户名密码(minioadmin/minioadmin)即可登陆系统。
三、 配置自启动服务
- 在终端启动MinIO的方式相对较为简单,但是当系统宕机重启时,服务也会停止,不能重新启动。我们就需要将MinIO配置为系统服务,方便在系统重启时自动启动。
3.1、编写配置文件
为简化MinIO配置,我们可将MinIO的配置统一写入一个配置文件,以供启动时调用。配置方式如下:
# 默认把配置文件放入/etc/default文件夹中,名称为minio
sudo vim /etc/default/minio
在文件中写入如下内容:
# 指定数据存储目录(注意:这个目录要存在且拥有相对应的权限)
MINIO_VOLUMES="/data"
# 监听端口
MINIO_OPTS="--console-address :9099"
# 新版本使用;指定默认的用户名和密码,其中用户名必须大于3个字母,否则不能启动
MINIO_ROOT_USER="minioadmin"
MINIO_ROOT_PASSWORD="minio123456"
# 区域值,标准格式是“国家-区域-编号”,
MINIO_REGION="cn-north-1"
# 域名
# MINIO_DOMAIN=minio.your_domain.com
3.2、编写服务文件
- 创建minio.service服务文件,并写入配置信息:
sudo vim /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/Minio/minio
[Service]
WorkingDirectory=/usr/local/
ProtectProc=invisible
# 指向3.1节中的配置文件
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 (1M) 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
SuccessExitStatus=0
[Install]
WantedBy=multi-user.target
Alias=minio.service
3.3、使服务生效
通过systemctl将服务生效并启动服务。
# 重新加载服务配置文件,使服务生效
systemctl daemon-reload
# 将服务设置为开机启动
systemctl enable minio
# 服务立即启动
systemctl start minio
# 查看minio服务当前状态
systemctl status minio
- MinIO服务启动后,在登录系统时,需要根据新配置的用户名密码(在/etc/default/minio文件中)登录。
四、服务搭建
浏览器输入http://127.0.0.1:9099进行操作
1、创建Access Keys
2、创建bucket
3、建文件目录
4、python使用样例
from minio import Minio
from minio.error import S3Error
def main():
# Create a client with the MinIO server playground, its access key
# and secret key.
client = Minio(
endpoint="10.100.***.***:9000",
access_key="YW4Wf1mR8E6*********",
secret_key="OEWMgWhUabDUceVEd6********",
secure=False
)
# Make 'sem-rf' bucket if not exist.
found = client.bucket_exists("sem-rf")
if not found:
client.make_bucket("sem-rf")
else:
print("Bucket 'sem-rf' already exists")
# Upload 'Startup/xx.zip' as object name
# 'xx.zip' to bucket 'sem-rf'.
client.fput_object(
"sem-rf", "xx.zip", "Startup/xx.zip",
)
print(
"'xx.zip' is successfully uploaded as "
"object 'xx.zip' to bucket 'sem-rf'."
)
if __name__ == "__main__":
try:
main()
except S3Error as exc:
print("error occurred.", exc)