1.機器分布
192.168.10.66
192.168.10.22
192.168.10.33
2.機器配置
Minio-server服務器
品牌:lenovo
cpu:4核
內存:3G
硬盤容量:40G硬盤
IP:192.168.10.xx
網關 192.168.10.2
DNS1=8.8.8.8
3.下載相關工具
#下載minio服務端
wget http://dl.minio.org.cn/server/minio/release/linux-amd64/minio
#下載客戶端
wget http://dl.minio.org.cn/client/mc/release/linux-amd64/mc
chmod +x minio
chmod +x mc
cp mc /bin/
cp minio /bin/
4.搭建minio(三個節點為一個集群)
#創建目錄(兩個數據磁盤)
mkdir -p /data/minio{1,2}
mkdir /etc/minio
#編輯啟動腳本
[root@localhost ~]# cat /opt/run.sh #!/bin/bash export MINIO_ACCESS_KEY=admin export MINIO_SECRET_KEY=admin123 /usr/bin/minio server --config-dir /etc/minio \ http://192.168.10.66/data/minio1 http://192.168.10.66/data/minio2 \ http://192.168.10.22/data/minio1 http://192.168.10.22/data/minio2 \ http://192.168.10.33/data/minio1 http://192.168.10.33/data/minio2
#啟動腳本加權限
chmod +x /opt/run.sh
# 配置systemd啟動
[root@localhost ~]# cat /usr/lib/systemd/system/mi microcode.service minio.service [root@localhost ~]# cat /usr/lib/systemd/system/mi microcode.service minio.service [root@localhost ~]# cat /usr/lib/systemd/system/minio.service [Unit] Description=Minio service Documentation=https://docs.minio.io/ [Service] WorkingDirectory=/opt/ ExecStart=/opt/run.sh # Let systemd restart this service on-failure Restart=on-failure RestartSec=5 # Specifies the maximum file descriptor number that can be opened by this process LimitNOFILE=65536 # Disable timeout logic and wait until process is stopped TimeoutStopSec=infinity SendSIGKILL=no [Install] WantedBy=multi-user.target
#系統啟動腳本添加權限
chmod +x /usr/lib/systemd/system/minio.service
#啟動minio服務
systemctl daemon-reload systemctl is-enabled minio.service systemctl start minio.service systemctl status minio.service
#查看日志
tailf /var/log/message Apr 24 14:45:23 localhost run.sh: Endpoint: http://192.168.10.22:9000 http://172.17.0.1:9000 http://127.0.0.1:9000 Apr 24 14:45:23 localhost run.sh: Browser Access: Apr 24 14:45:23 localhost run.sh: http://192.168.10.22:9000 http://172.17.0.1:9000 http://127.0.0.1:9000 Apr 24 14:45:23 localhost run.sh: Object API (Amazon S3 compatible): Apr 24 14:45:23 localhost run.sh: Go: https://docs.min.io/docs/golang-client-quickstart-guide Apr 24 14:45:23 localhost run.sh: Java: https://docs.min.io/docs/java-client-quickstart-guide Apr 24 14:45:23 localhost run.sh: Python: https://docs.min.io/docs/python-client-quickstart-guide Apr 24 14:45:23 localhost run.sh: JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide Apr 24 14:45:23 localhost run.sh: .NET: https://docs.min.io/docs/dotnet-client-quickstart-guide Apr 24 14:45:23 localhost run.sh: IAM initialization complete Apr 24 14:47:29 localhost chronyd[771]: Forward time jump detected! Apr 24 14:49:39 localhost chronyd[771]: Source 119.28.206.193 replaced with 188.165.11.86
#三台一樣操作,每台都要看一下日志是否輸出結果一樣。
5.minio訪問效果

6.minio命令行上傳文件及查看
#連接minio
mc config host add minio http://192.168.10.66:9000 admin admin123
#新增目錄
mc mb minio1/cert
#上傳文件
mc cp ~/文件名字 minio/上傳到minio指定命令
7.安裝minio遇到的問題
#訪問頁面顯示這個報錯Server not initialized, please try again
#查看日志看到
[root@localhost data]# tailf /var/log/messages Apr 24 14:40:53 localhost run.sh: Waiting for all other servers to be online to format the disks. Apr 24 14:40:54 localhost run.sh: Unable to read 'format.json' from http://192.168.10.22:9000/data/minio1: client time 2021-04-24 06:40:54 +0000 UTC is too apart with server time 2020-11-18 15:23:57.145857292 +0000 UTC Apr 24 14:40:54 localhost run.sh: Unable to read 'format.json' from http://192.168.10.22:9000/data/minio2: client time 2021-04-24 06:40:54 +0000 UTC is too apart with server time 2020-11-18 15:23:57.145865387 +0000 UTC Apr 24 14:40:54 localhost run.sh: Waiting for all other servers to be online to format the disks. Apr 24 14:40:54 localhost run.sh: Unable to read 'format.json' from http://192.168.10.22:9000/data/minio1: client time 2021-04-24 06:40:54 +0000 UTC is too apart with server time 2020-11-18 15:23:57.692449821 +0000 UTC Apr 24 14:40:54 localhost run.sh: Unable to read 'format.json' from http://192.168.10.22:9000/data/minio2: client time 2021-04-24 06:40:54 +0000 UTC is too apart with server time 2020-11-18 15:23:57.692977041 +0000 UTC Apr 24 14:40:54 localhost run.sh: Waiting for all other servers to be online to format the disks.
#以上是錯誤信息
#解決方法
看你的機器是不是時間不對
再來查看你的磁盤空間是不是滿了
然后將進程kill掉
在重新啟動一下。
8.nginx代理
安裝nginx
yum -y install nginx
#配置修改
[root@web-01 default.d]# egrep -v "^#|^$" /etc/nginx/nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/default.d/*.conf;
}
#代理配置
[root@web-01 default.d]# egrep -v "^#|^$" minio.conf
upstream mino{
server 192.168.10.66:9000;
server 192.168.10.22:9000;
server 192.168.10.33:9000;
}
server
{
listen 80;
server_name 192.168.10.88;
location / {
#include naxsi.rules;
#limit_conn one 150;
#limit_conn perserver 1000;
#limit_req zone=concurrent burst=6 nodelay;
#proxy_pass http://127.0.0.1:8082;
proxy_pass http://minio;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_redirect off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504 http_404;
}
location ~ /\.
{
deny all;
}
}
