MinoIO背景:
MinIO 是GlusterFS创始人之一Anand Babu Periasamy发布的开源项目,基于Apache V2 license 100% 开放源代码。MinIO采用Golang实现,客户端支持Java、Python、Javacript、Golang语言等。在中国,阿里巴巴、腾讯、百度、中国联通、华为、中国移动等等9000多家企业也都在使用MinIO产品。
其设计的主要目标是作为私有云对象存储的标准方案。非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据、容器和虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T。
FirstStep——阿里云ECS服务器安装docker:
前提条件
- 电脑一台:本次以Windows 11为例
- 安全终端模拟软件:本次以Xshell为例
- 云服务器:本次以阿里云ECS服务器为例
一、查看服务器信息:
查看系统内核:
uname -r
查看系统版本:
cat /etc/os-release
二、安装docker:
1.卸载旧的版本:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.需要的安装包:
yum install -y yum-utils
3.设置镜像仓库(以阿里云镜像仓库为例)
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo 默认国外的
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 阿里云
4.更新yml软件包索引:
yum makecache fast(centos8 没有fast参数,去掉即可)
yum makecache
5.安装docker相关内容(以docker-ce社区 ee企业版为例)
yum install docker-ce docker-ce-cli containerd.io
6.启动docker并查看版本
systemctl start docker
docker version
7.测试hello-world:
docker run hello-world
8.查看镜像:
docker images
SecondStep——minio安装:
1.docker安装指定版本minio
docker pull minio/minio:RELEASE.2021-06-17T00-10-46Z
2.使用docker运行minio
docker run -p 9000:9000 --name minio -di --restart=always \
-e "MINIO_ROOT_USER=root" \
-e "MINIO_ROOT_PASSWORD=root" \
-v /usr/local/minio/data:/data \
-v /usr/local/minio/config:/root/.minio \
minio/minio:RELEASE.2021-06-17T00-10-46Z server /data
- MINIO_ROOT_USER:设置用户名
- MINIO_ROOT_PASSWORD:设置密码
- /usr/local/minio/data:文件的存储地址
- /usr/local/minio/config:minio的相关配置文件
注意!!!:此处使用的是9000端口,需在服务器安全组添加9000端口,即本文第三部分
3.查看docker运行日志:
docker logs 运行结果id
出现以上界面则代表minio运行成功
ThirdStep——打开服务器安全组9000端口:
阿里云安全组概述:
在购买的时候,阿里云会要求客户设置安全组,如果不没置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。 很多朋友购买了,安装了某些服务后发现死活连不上,也没有任何报错,最终发现原来是安全组的锅。如果你也有类似情况,不妨检查下安全组是否已经放行端口。购买时默认安全组 不知道安全组的用户在新购服务器上部署网站,常常会发现不能正常访问。这是因为在购买阿里云ECS服务器的时候。阿里云默认安全组只放行了ICMP协议、SSH 22端口、RDP3398端口三个端口,访问网站的80或443端口并没有放行。
如果需要网站访问,南无用户在购买ECS服务器的时候需要勾选http80端口和https443端口,购买后配置安全组
上一部分我们提到,我们搭建的minio服务器需要开放9000端口,于是我们以9000端口为例
首先我们找到实例,点击实例进入详情界面,再点击进入安全组,进行规则的配置
我们已经看到了默认的3条规则,我们点击添加安全组规则
现在这台服务器是专用网络,网卡类型的话就是内网,如果是经典网络的服务器,那么我们就需要选择外网入方向来设置
- 协议类型:我们选择自定义的TCP
- 端口范围:这里要求填写的是一个范围,所以我们要写9000/9000
- 授权对象:这里我们要让所有人都可以访问:所以我们要写0.0.0.0/0
- 优先级:填1到100的数字,数字越小,优先级越高 点击确定,我们在安全组里的9000端口就已经打开了,除此之外,安全组还用于设置内网互通拦截特定的IP和端口,只允许特定的IP来登录服务器,或者只允许读取访问公网上的某个特定的IP
常见默认端口:
- 22: SSH(安全登录)、SCP(文件传输)、端口号重定向
- 21:FTP(文件传输)协议代理服务器常用端口
- 39000/40000:FTP被动模式常用端口
- 80/8080/3128/8081/9098: HTTP协议代理服务器常用端口号
- 443: HTTPS (securely transferring web pages)服务器,默认端口号为443/tcp 443/udp
- 1080:SOCKS代理协议服务器常用端口号
- 23: Telnet(不安全的文本传送)
- 69(udp): TFTP (Trivial File Transfer Protocol)
- 25: SMTP Simple Mail Transfer Protocol (E-mail),默认端口号
- 110: POP3 Post Office Protocol (E-mail)
- 9080: Webshpere应用程序
- 9090: webshpere管理工具
- 3389: windows RDP远程登录
- 1521: Oracle数据库
- 3306: MySQL
- 11211:MEMCACHED
- 5432: PostgresQL
- 1433: MS SQL
- 6379: Redis
- 8888:宝塔面板初始端口
- 888:宝塔面板phpmysql端口
MinIO使用方法:
一、浏览器访问:
在浏览器输入地址:https://服务器ip:9000,出现登录页面即代表成功:
使用上一步设置的登录账号和密码进行登录,登录成功后页面如下:
在这里我新建了一个navigation的桶,可以简单理解为存数据的地方
二、上传文件到minio文件服务
第一种:
直接在浏览器上传,比如将图片文件直接拖拽在这里
这时,我们上传了一些图片,但是我们还不能直接通过输入以下地址访问图片:
http://服务器ip:9000/桶名/文件名
我们需要配置一下规则:
点击Edit policy,更改至如下:
这个时候我们就可以这样访问图片了:
http://服务器ip:9000/navigation/111.webp