Minio Linux 安装 systemctl启动配置
在 Linux 系统中,使用 systemctl 来管理 MinIO 服务是一种常见的方式。以下是配置 MinIO 使用 systemctl 启动的步骤:
1. 安装 MinIO
确保你已经下载并安装了 MinIO 二进制文件。例如:
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/
2. 创建 MinIO 配置目录和数据目录
创建用于存储 MinIO 配置和数据的目录:
sudo mkdir -p /etc/minio
sudo mkdir -p /var/lib/minio
将这些目录的权限设置为 MinIO 用户(如果需要,可以创建一个专用用户):
sudo useradd -r minio-user
sudo chown -R minio-user:minio-user /etc/minio /var/lib/minio
3. 创建环境变量文件
创建一个环境变量文件 /etc/default/minio,用于存储 MinIO 的配置参数:
sudo nano /etc/default/minio
添加以下内容(根据你的需求修改路径和参数):
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin
MINIO_VOLUMES="/var/lib/minio/"
MINIO_OPTS="--address :9000 --console-address :9001"
- MINIO_ROOT_USER 和 MINIO_ROOT_PASSWORD 是访问 MinIO 的管理员账户和密码。
- MINIO_VOLUMES 指定存储桶数据的路径。
- MINIO_OPTS 中的 --address 和 --console-address 分别指定 API 和控制台的监听地址。
保存并退出。
4. 创建 Systemd 服务文件
创建 MinIO 的 systemd 服务文件:
sudo nano /etc/systemd/system/minio.service
添加以下内容:
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target[Service]
User=minio-user
Group=minio-user
WorkingDirectory=/var/lib/minio/
EnvironmentFile=/etc/default/minio
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
Restart=always
RestartSec=3
LimitNOFILE=65536[Install]
WantedBy=multi-user.target
保存并退出。
5. 重新加载 Systemd 配置
运行以下命令以重新加载 systemd 配置:
sudo systemctl daemon-reload
6. 启动并启用 MinIO 服务
启动 MinIO 服务:
sudo systemctl start minio
设置开机自启:
sudo systemctl enable minio
7. 检查服务状态
检查 MinIO 服务的状态:
sudo systemctl status minio
如果一切正常,你应该看到类似以下的输出:
● minio.service - MinIOLoaded: loaded (/etc/systemd/system/minio.service; enabled; vendor preset: enabled)Active: active (running) since ...
8. 访问 MinIO 控制台
默认情况下,MinIO 的 Web 控制台可以通过 http://<服务器IP>:9001 访问,API 服务则通过 http://<服务器IP>:9000
访问。
登录时使用你在环境变量文件中设置的 MINIO_ROOT_USER 和 MINIO_ROOT_PASSWORD。
9. 常见问题排查
- 端口冲突:确保 9000 和 9001 端口未被其他服务占用。
- 权限问题:确保 minio-user 对相关目录有读写权限。
- 日志查看:如果服务启动失败,可以通过以下命令查看日志:
sudo journalctl -u minio
完成以上步骤后,MinIO 应该已经成功配置为通过 systemctl 启动的服务,并且可以在系统重启后自动运行。