MinIO提供了与k8s、etcd、docker等容器化技术深度集成方案,以及Linux环境下详细文档。但是在Windows Server的部署官网提到的很少,这里简单记录下自己的部署过程。
一、简单安装部署
1、Windows安装包下载地址:
https://dl.minio.io/server/minio/release/windows-amd64/minio.exe
2、本地电脑中选一个文件夹作为MinIO的服务文件夹。比如我创建的为:C:\minio\data
3、打开CMD窗口:切换到安装包所在目录(后面部分为存储路径), 输入命令:
minio.exe server C:\minio\data
4、启动成功后,打开浏览器访问:http://127.0.0.1:9000 用户名和密码默认为:minioadmin。cmd窗口会显示访问的地址、账号密码。
二、WinSW安装部署成Windows服务
1、下载winsw,下载地址:
https://github.com/winsw/winsw/releases
2、将下载的WinSW-x64.exe复制到C:\minio目录,与minio.exe同一个目录并重命名为minio-server.exe。
3、添加并配置minio-server.xml文件
<service>
<!-- 指定Windows内部用户标识服务的唯一id -->
<id>minio-server</id>
<!-- 指定Windows服务的简短唯一名称 -->
<name>minio-server</name>
<!-- 对服务的完整描述 -->
<description>minio文件存储服务器</description>
<!-- 可设置环境变量 -->
<env name="MINIO_HOME" value="%BASE%"/>
<!-- 指定要启动的可执行文件 -->
<executable>%BASE%\run.bat</executable>
<!-- 指定日志文件的目录,默认为配置文件所在的目录 -->
<logpath>%BASE%\logs</logpath>
<!-- 设置日志模式为按文件大小和时间滚动 -->
<log mode="roll-by-size-time">
<!-- 日志文件大小为10240kb生成新日志文件 -->
<sizeThreshold>10240</sizeThreshold>
<!-- 设置日志文件名按时间的格式 -->
<pattern>yyyyMMdd</pattern>
<!-- 设置每天按时间滚动日志的时间 -->
<autoRollAtTime>00:00:00</autoRollAtTime>
<!-- 文件保留天数(需要autoRollAtTime同时使用) -->
<zipOlderThanNumDays>5</zipOlderThanNumDays>
<!-- <zipDateFormat>yyyyMMdd</zipDateFormat> -->
</log>
</service>
4、新建run.bat文件,内容如下
set MINIO_ROOT_USER=admin
set MINIO_ROOT_PASSWORD=12345678
minio.exe server C:\minio\data
5、安装Windows服务
安装服务命令:
minio-server.exe install
启动服务命令:
minio-server.exe start
停止服务命令:
minio-server.exe stop
移除服务命令:
sc delete minio-server
6、启动minio-server服务
7、启动成功,登录MinIO控制台
8、可能出现的错误
我自己的解决方式是,删除了xml里面的所有中文。但是感觉修改xml文件的编码为utf8也是可以的。