Linux Centos8 安装Minio开机启动并Nginx代理访问

查看官方文档(MinIO)进行操作 

安装minio

#下载
wget https://dl.min.io/server/minio/release/linux-amd64/minio

#创建目录
sudo mkdir /usr/local/minio

#把下载的文件移到新创建的文件夹
sudo mv minio /usr/local/minio

#增加文件执行权限
sudo chmod +x /usr/local/minio/minio
1.单机运行 ( 纠删码 )

#挂载四块盘,如上图
#启动
sudo  /usr/local/minio/minio  server /datadisk/minio0 /datadisk/minio1 /datadisk/minio2 /datadisk/minio3 --console-address ":33547"

#启动成功会自动输出访问地址和默认的登陆账号密码

 2.编写脚本,设置开机启动

首先使用Systemd服务发现一直失败 ,操作如下

#创建配置文件
sudo vim  /usr/local/minio/minio.conf

#写入以下配置信息
MINIO_VOLUMES=" /datadisk/minio0 /datadisk/minio1 /datadisk/minio2 /datadisk/minio3"
MINIO_ROOT_USER="admin"
MINIO_ROOT_PASSWORD="admin123"
MINIO_OPTS=" --console-address :33547 --address :9000"
#编写systemd 开机启动
#创建
sudo vim /usr/lib/systemd/system/minio.service

#编写服务脚本
#minio服务
[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/minio/
#引用配置文件
EnvironmentFile=/usr/local/minio/minio.conf
ExecStart=/usr/local/minio/minio server $MINIO_OPTS $MINIO_VOLUMES

# Let systemd restart this service always
Restart=on-failure
RestartSec=5

# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=65536

# 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

[Install]
WantedBy=multi-user.target

#执行相关命令进行启动,发现一直失败
#服务相关命令
#systemctl daemon-reload #重载启动服务项
#systemctl start minio.service  启动minio服务
#systemctl status  minio.service 检查启动情况
#systemctl stop  minio.service #停止服务
#systemctl restart  minio.service #重启服务
#加入开机启动
#systemctl enable minio.service
#输入命令查看
ps -ef |grep minio

3.尝试利用CentOS系统中rc.local设置开机自动执行的.sh方式(成功)

#编写执行文件
#创建文件
sudo mkdir /usr/local/minio/miniostart.sh
#输入以下内容
##设置用户名和密码
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=admin123
##配置后台启动
#注意/usr/local/minio/minio.log 如果该日志文件不存在,则需要先创建,否则会启动失败
nohup /usr/local/minio/minio server /datadisk/minio0 /datadisk/minio1 /datadisk/minio2 /datadisk/minio3  --console-address ":33547" --address ":9000"> /usr/local/minio/minio.log 2>&1 &


#编辑rc.local文件
sudo vim /etc/rc.d/rc.local
#在文件中添加
/usr/local/minio/miniostart.sh

#增加执行权限
sudo chmod +x /etc/rc.d/rc.local

#重启系统
sudo reboot 
#查看是否启动
ps -ef |grep minio

  

到此minio单机部署并设置开机服务启动就完成了。

配置nginx代理访问

#添加nginx代理配置文件
sudo vim /usr/local/nginx/conf.d/minio.conf

#写入
server {
 listen 80;
 server_name localhost;

 # To allow special characters in headers
 ignore_invalid_headers off;
 # Allow any size file to be uploaded.
 # Set to a value such as 1000m; to restrict file size to a specific value
 client_max_body_size 0;
 # To disable buffering
 proxy_buffering off;

 location / {
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header X-Forwarded-Proto $scheme;
   proxy_set_header Host $http_host;

   proxy_connect_timeout 300;
   # Default is HTTP/1, keepalive is only enabled in HTTP/1.1
   proxy_http_version 1.1;
   proxy_set_header Connection "";
   chunked_transfer_encoding off;

   proxy_pass http://localhost:9000; 
 }
}

#设置完重启nginx,这里sysytemd服务管理启动,因此直接用systemctl 重启
sudo systemctl restart nginx

备注,额外说明,当我使用SDK测试上传的时候,提示一个错误:MinIO API responded with message=The difference between the request time and the server's time is too large.

#这种情况就是服务器时间不一致导致的,时区问题,则需要去设置系统时间,我测试使用的是本地虚拟机,我是在虚拟机设置同步本机时间,然后查看系统时间,发现和本地时间一致,再次测试上传,上传成功了。

猜你喜欢

转载自blog.csdn.net/u010784529/article/details/121694928
今日推荐