Skip to content

for centos7单实例安装

centos7.9

下载地址获取

这个地址:https://min.io/download?license=agpl&platform=linux

1832669991615332352.png

找到下载地址使用wget下载,下载成功之后,就是一个不带后缀的可执行文件,所以我们还要给它赋予可执行权限:

bash
# 下载
mkdir -p /opt/minio
mkdir -p /opt/minio/data
cd /opt/minio
wget https://dl.min.io/server/minio/release/linux-amd64/minio
wget https://dl.min.io/client/mc/release/linux-amd64/mc

# 赋予可执行权限,下面两个命令都是可以的
cd /opt/minio
chmod +x minio
chmod 744 minio

chmod 744 mc

[root@cs minio]# cd /opt/minio
[root@cs minio]# wget https://dl.min.io/server/minio/release/linux-amd64/minio
[root@cs minio]# wget https://dl.min.io/client/mc/release/linux-amd64/mc
[root@cs minio]# chmod 744 minio
[root@cs minio]# chmod 744 mc
[root@cs minio]# ll
total 126724
drwxr-xr-x. 2 root root         6 May 19 21:15 data
-rwxr--r--. 1 root root  26771608 May 19 21:31 mc
-rwxr-xr-x. 1 root root 102985880 May 19 21:31 minio

运行

下载之后的文件就是可执行文件,给了可执行权限之后,就可以去启动它了。

前台启动:

bash
/opt/minio/minio server /opt/minio/data --console-address ":9001" --address ":9000"

[root@cs minio]# /opt/minio/minio server /opt/minio/data --console-address ":9001" -address ":9000"
Formatting 1st pool, 1 set(s), 1 drives per set.
WARNING: Host local has more than 0 drives of set. A host failure will result in data becoming unavailable.
MinIO Object Storage Server
Copyright: 2015-2024 MinIO, Inc.
License: GNU AGPLv3 - https://www.gnu.org/licenses/agpl-3.0.html
Version: RELEASE.2024-05-10T01-41-38Z (go1.22.3 linux/amd64)

API: http://192.168.11.150:9000  http://127.0.0.1:9000 
   RootUser: minioadmin 
   RootPass: minioadmin 

WebUI: http://192.168.11.150:9001 http://127.0.0.1:9001   
   RootUser: minioadmin 
   RootPass: minioadmin 

CLI: https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart
   $ mc alias set 'myminio' 'http://192.168.11.150:9000' 'minioadmin' 'minioadmin'

Docs: https://min.io/docs/minio/linux/index.html
Status:         1 Online, 0 Offline. 
STARTUP WARNINGS:
- Detected Linux kernel version older than 4.0.0 release, there are some known potential performance problems with this kernel version. MinIO recommends a minimum of 4.x.x linux kernel version for best performance
# 说的是linux内核版本低,升级到4.0以上最好,这里可以不管它,当然也可以升级内核

- Detected default credentials 'minioadmin:minioadmin', we recommend that you change these values with 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' environment variables
# 说的是默认账号和密码的事儿,同样可以不管它

- The standard parity is set to 0. This can lead to data loss.
# 说的是minio实例是单节点的方式启动的,有可能会造成数据丢失,没错,我们现在就启动了一个实例,所以同样可以不管它

你就可以按照提示,浏览器访问WebUI的管理网站了。

后台启动的几种方式:

bash
# &方式
/opt/minio/minio server /opt/minio/data --console-address ":9001" --address ":9000" &

# nohup方式,推荐
nohup /opt/minio/minio server /opt/minio/data --console-address ":9001" --address ":9000" >/dev/null 2>&1 &

或者supervisor管理,其原理就是,通过三方软件监控uwsgi的进程,发现uwsgi的进程挂掉了,监控软件自动重启uwsgi进程。

直接使用使用yum命令即可直接安装即可:

bash
yum install epel-release
yum install -y supervisor

生成supervisor的配置文件:

bash
echo_supervisord_conf >  /etc/supervisord.conf

这里贴个supervisor的示例,编辑supervisord.conf配置文件vim /etc/supervisord.conf,追加如下内容:

ini
[program:minio]
command=/opt/minio/minio server /opt/minio/data --console-address ":9001" --address ":9000"
autostart=true       ; 在supervisord启动的时候也自动启动
startsecs=10         ; 启动10秒后没有异常退出,就表示进程正常启动了,默认为1秒
autorestart=true     ; 程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启
stopasgroup=true     ;默认为false,进程被杀死时,是否向这个进程组发送stop信号,包括子进程
killasgroup=true     ;默认为false,向进程组发送kill信号,包括子进程

然后就可以尝试通过supervisor命令启动minio,注意,要先杀掉之前启动minio相关进程:

bash
pkill -9 minio
pkill -9 supervisord

# 根据配置文件启动supervisord进程,同时也会启动监控的uwsgi进程
supervisord -c /etc/supervisord.conf

# 通过supervisorctl终端可以方便查询到监控的所有的进程,然后你可以指定启动/停止/重启某个进程
supervisorctl -c /etc/supervisord.conf


[root@cs minio]# supervisorctl -c /etc/supervisord.conf
minio                            STARTING  
supervisor> status minio
minio                            RUNNING   pid 75401, uptime 0:01:56
supervisor> exit;
[root@cs minio]#

现在你就可以任意访问minio服务了。

for docker单实例配置

安装docker

bash
# 查看已安装了哪些docker相关的软件,都给它卸载掉,没有过滤出来就算了
yum list installed | grep docker
yum remove -y docker*

# 更新和安装相关依赖
yum update -y
yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加docker的yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 添加阿里的docker的yum源
# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 查看及安装docker
yum list docker-ce --showduplicates | sort -r
yum install -y docker-ce-26.1.3-1.el7
docker version
systemctl start docker    # 启动
systemctl enable docker	  # 加入开机启动
ps -ef | grep docker
docker version

拉取minio镜像

bash
docker search minio
docker pull minio/minio
docker images | grep minio

[root@cs ~]# docker images | grep minio
minio/minio   latest    49c3911c1fe9   10 days ago   160MB

启动镜像

bash
# 解释版
docker run -d --name minio \  # 创建并后台运行一个容器,容器名叫做minio
	-e "MINIO_ROOT_USER=minio" -e "MINIO_ROOT_PASSWORD=minio1234" \  # 设置账号密码
	-p 9000:9000 -p 9001:9001 \   # webui和api的端口映射
	-v /opt/minio/data:/opt/minio/data \  # 数据卷目录挂载
	minio/minio server /opt/minio/data --console-address ":9001" --address ":9000" # 容器中启动minio程序的命令
	
docker run -d --name minio \
	-e "MINIO_ROOT_USER=minio" -e "MINIO_ROOT_PASSWORD=minio1234" \
	-p 9000:9000 -p 9001:9001 \
	-v /opt/minio/data:/opt/minio/data \
	minio/minio server /opt/minio/data --console-address ":9001" --address ":9000"

# 其他命令
docker ps -a | grep minio
docker stop minio
docker start minio
docker rm minio
docker logs minio  # 查看容器运行日志

[root@cs tmp]# docker logs minio
MinIO Object Storage Server
Copyright: 2015-2024 MinIO, Inc.
License: GNU AGPLv3 - https://www.gnu.org/licenses/agpl-3.0.html
Version: RELEASE.2024-05-10T01-41-38Z (go1.22.3 linux/amd64)

API: http://172.17.0.2:9000  http://127.0.0.1:9000 
WebUI: http://172.17.0.2:9001 http://127.0.0.1:9001  

Docs: https://min.io/docs/minio/linux/index.html
Status:         1 Online, 0 Offline. 
STARTUP WARNINGS:
- Detected Linux kernel version older than 4.0.0 release, there are some known potential performance problems with this kernel version. MinIO recommends a minimum of 4.x.x linux kernel version for best performance
# 说的是linux内核版本低,升级到4.0以上最好,这里可以不管它,当然也可以升级内核
- The standard parity is set to 0. This can lead to data loss.
# 说的是minio实例是单节点的方式启动的,有可能会造成数据丢失,没错,我们现在就启动了一个实例,所以同样可以不管它

现在就可以浏览器访问云服务器的IP和9000端口访问web管理后台了。

for windows

下载安装

由于Go语言的特性,下载的本地的可执行程序无需安装,直接运行即可。

下载 从这个链接中找最新的安装程序下载链接:https://min.io/docs/minio/windows/index.html:

bash
# 我这里贴一份直达的链接,从以下 URL 下载 MinIO 可执行文件:
https://dl.min.io/server/minio/release/windows-amd64/minio.exe

或者从百度网盘中下载:链接:https://pan.baidu.com/s/12Ap619il_D-Iyoaplj-iSQ?pwd=97m6 提取码:97m6

但为了后续方便,我们做一些额外的配置,让我们后续使用更方便。

首先我将创建这样的一个目录结构:

bash
C:\software\minio    # 路径需要你自行创建,或者创建到其他的目录,但避开中文和其他特殊字符和空格
	├─ minio.exe     # 需要将下载的可执行程序挪到这里来
	├─ minio.bat	 # 手动制作的bat文件
	└─ nssm.exe		 # 从上面提供的百度云盘链接中的nssm-2.24.zip中,找到对应位数的nssm.exe

添加环境变量

将上一步的中的C:\software\minio添加系统的环境变量中。

系统变量
pathC:\software\minio

启动测试

打开终端,可以执行下面的命令:

bash
minio.exe server C:\software\minio --console-address ":9001" -address ":9000"

# 参数
C:\software\minio    		# MinIO安装的目录,包含配置文件,存储文件
--console-address ":9001"	# 控制台端口,自带UI页面
-address ":9000"			# API端口

# 示例
C:\Users\12061>minio.exe server C:\software\minio --console-address ":9001" -address ":9000"
MinIO Object Storage Server
Copyright: 2015-2024 MinIO, Inc.
License: GNU AGPLv3 - https://www.gnu.org/licenses/agpl-3.0.html
Version: RELEASE.2024-05-10T01-41-38Z (go1.22.3 windows/amd64)

API: http://192.168.8.140:9000  http://192.168.11.100:9000  http://192.168.6.1:9000  http://127.0.0.1:9000
   RootUser: minioadmin
   RootPass: minioadmin

WebUI: http://192.168.8.140:9001 http://192.168.11.100:9001 http://192.168.6.1:9001 http://127.0.0.1:9001
   RootUser: minioadmin
   RootPass: minioadmin

CLI: https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart
   $ mc alias set 'myminio' 'http://192.168.8.140:9000' 'minioadmin' 'minioadmin'

Docs: https://min.io/docs/minio/linux/index.html
Status:         1 Online, 0 Offline.
STARTUP WARNINGS:
- Detected default credentials 'minioadmin:minioadmin', we recommend that you change these values with 'MINIO_ROOT_USER' and 'MINIO_ROOT_PASSWORD' environment variables
- The standard parity is set to 0. This can lead to data loss.

上面的一些WARNINGS我们不管,反正Windows平台也就是学习用。

只要注意到两个地方:

bash
# 将来对接其他语言时,通过这个api接口,并告诉我们了账号和密码了
API: http://192.168.8.140:9000  http://192.168.11.100:9000  http://192.168.6.1:9000  http://127.0.0.1:9000
   RootUser: minioadmin
   RootPass: minioadmin

# 浏览器控制台的地址、账号、密码
WebUI: http://192.168.8.140:9001 http://192.168.11.100:9001 http://192.168.6.1:9001 http://127.0.0.1:9001
   RootUser: minioadmin
   RootPass: minioadmin

这个时候你就可以打开浏览器输入上面的任意一个WebUI的地址了,然后输入账号密码就能登录进去了。

1832669992299003904.png

制作bat脚本

制作bat脚本

C:\software\minio目录下创建minio.bat文件:

bash
@echo off 
minio.exe server C:\software\minio --console-address ":9001" -address ":9000"
pause

你也可以把bat脚本搞个桌面快捷方式,将来比较方便启动。

1832669993775398912.png

通过nssm工具将minio添加到系统服务中

NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行。同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。但需要自己安装。

更多想了解nssm,自行百度吧。

由于我提前将nssm.exe文件放到了C:\software\minio\目录(该目录已添加到系统环境变量中了)下,所以我可以在任意地方以管理员权限打开终端,执行下面的命令,将minio添加到系统服务中:

bash
nssm install minio

然后会弹出一个窗口,你参考下面的配置:

1832669994060611584.png

几个值可能看不清,我单独再列一下:

参数值
Application PathC:\software\minio\minio.exe
Startup directoryC:\software\minio
Argumentsserver C:\software\minio --console-address ":9001" -address ":9000"

然后你在服务中就能找到minio服务了。

1832669994194829312.png

我把它设置为手动,将来用用的时候手动终端中启动。

后续就可以通过管理员权限打开终端,执行启动、停止等命令:

bash
C:\Windows\System32>nssm start minio
minio: START: 操作成功完成。

C:\Windows\System32>nssm stop minio
minio: STOP: 操作成功完成。

更多命令:

bash
安装服务:nssm install 服务名
删除服务:nssm remove 服务名
删除服务确定:nssm remove 服务名 confirm 
修改服务(显示界面修改):nssm edit 服务名
启动服务:nssm start 服务名
停止服务:nssm stop 服务名
重启服务:nssm restart 服务名