Minio est un nouveau projet open source publié par Anand Babu Periasamy, l’un des fondateurs de GlusterFS. Minio est compatible avec le projet de stockage d’objets distribué S3 d’Amason, implémenté en Golang et pris en charge par le client. NET, Java, Python, Javacript, lang. Minio peut être utilisé comme solution de stockage cloud pour stocker d’énormes quantités d’images, de vidéos et de documents. Grâce à l’implémentation Golang, le serveur peut fonctionner sous Windows, Linux, OS X et FreeBSD. La configuration est simple, en gros une copie du programme exécutable, et une seule ligne de commande peut être exécutée.
Documentation:La connexion hyperlientérée est visible.
(Il n’est pas recommandé de consulter la version officielle chinoise de la documentation car elle est incomplète !) Astuce : MinIO est sous WindowsDéploiement distribué, produits expérimentaux uniquement, non recommandé, si vous êtes seul, ce n’est pas grave !
Télécharger
Télécharger pour la version Windows :La connexion hyperlientérée est visible.
Installation
Vous pouvez rapidement démarrer une instance en utilisant la commande suivante :
En même temps, un dossier .minio.sys sera automatiquement créé dans le répertoire D :\dev_tools\file_attach
Accès au navigateur :La connexion hyperlientérée est visible.Le compte et le mot de passe par défaut sont : minioadmin
Créez un compte d’accès et un mot de passe
Les comptes MinIO et les mots de passe sont définis via des variables d’environnement : MINIO_ROOT_USER, MINIO_ROOT_PASSWORD et certains autres paramètres sont également définis sous forme de variables d’environnement.
J’ai vu sur Internet qu’il suffit de modifier les valeurs dans la valeur après le access_key et secret_key du fichier « D :\dev_tools\file_attach\.minio.sys\config\config.json ». Bien que cette méthode puisse modifier le compte et le mot de passe, elle n’est pas sûre et non recommandée.
config.json Contenu du fichier :
{"API » :{"_ » :[{"key » :"requests_max »,"value » :"0"},{"key » :"requests_deadline »,"value » :"10s"},{"key » :"cluster_deadline »,"value » :"10s"},{"key » :"cors_allow_origin »,"value » : « *"},{"key » :"remote_transport_deadline »,"value » :"2h"},{"key » :"list_quorum »,"value » :"strict"},{"key » :"extend_list_cache_life »,"value » :"0s"},{"key » :"replication_workers « ,"value » :"100"}]},"audit_webhook » :{{"_ » :[{"key » :"enable »,"value » :"off"},{"key » :"endpoint »,"value » :""},{"key » :"auth_token »,"value » :""},{"key » :"client_cert »,"value » :""} ,{"key » :"client_key »,"value » :"}]},"cache » :{{"key » :"drivers,"value » :"},{"key » :"exclure »,"value » :"},{"key » :"expiry »,"value » :"90"},{"key » :"quota »,"value » :"80"},{ « key » :"after »,"value » :"0"},{"key » :"watermark_low »,"value » :"70"},{"key » :"watermark_high »,"value » :"80"},{"key » :"range »,"value » :"on"},{"key » :"commit »,"value » : » writethrough"}]},"compression » :{{_ » :[{"key » :"enable »,"value » :"off"},{"key » :"allow_encryption »,"value » :"off"},{"key » :"extensions », « value » : ».txt,.log,.csv,.json,.tar,. xml,.bin"},{"key » :"mime_types »,"value » :"text/*,application/json,application/xml,binary/octet-stream"}]},"credentials » :{{"key » :"access_key »,"value » :"minioadmin"}, {"key » :"secret_key »,"value » :"minioadmin"}]},"etcd » :{{"_ » :[{"key » :"endpoints,"value » :""},{"key » :"path_prefix »,"value » :""},{"key » :"coredns_path »,"value » :"/skydns"},{ » clé » :"client_cert »,"value » :""},{"key » :"client_cert_key »,"value » :"}]},"heal » :{{"_ » :[{"key » :"bitrotscan »,"value » :"off"},{"key » :"max_sleep »,"value » :"1s"},{"key » :"max_io » ,"value » :"10"}]},"identity_ldap » :{{"_ » :[{"key » :"server_addr »,"value » :""},{"key » :"username_format »,"value » :""},{"key » :"user_dn_search_base_dn »,"value » :""},{"key » :"user_ dn_search_filter »,"value » :""},{"key » :"group_search_filter »,"value » :""},{"key » :"group_search_base_dn »,"value » :""},{"key » :"sts_expiry »,"value » :"1h"},{"key » :"tls_skip_ verify »,"value » :"off"},{"key » :"server_insecure »,"value » :"off"},{"key » :"server_starttls »,"value » :"off"},{"key » :"lookup_bind_dn »,"value » :""},{"key » :"lookup_bind_ mot de passe »,"value » :"}]},"identity_openid » :{{"_ » :[{"key » :"config_url »,"value » :""},{"key » :"client_id »,"value » :""},{"key » :"claim_name »,"value » :"policy"},{"key » :"claim_ préfixe »,"value » :"},{"key » :"scopes,"value » :"},{"key » :"jwks_url »,"value » :"}],"kms_kes » :{{"_ » :[{"key » :""endpoint »,"value » :""},{"key » :"key_name »,"value » :""},{"key » : » cert_file »,"value » :""},{"key » :"key_file »,"value » :""},{"key » :"capath »,"value » :"}]},"kms_vault » :{{"_ » :[{"key » :"endpoint »,"value » :""},{"key » :"key_name »,"value » :""},{"key « :"auth_type »,"value » :"approle"},{"key » :"auth_approle_id »,"value » :"},{"key » :"auth_approle_secret »,"value » :""},{"key » :"capath »,"value » :""},{"key » :"key_version »,"value « :""},{"key » :"namespace,"value » :"}]},"logger_webhook » :{{"_ » :[{"key » :"enable,"value » :"off"},{"key » :"endpoint »,"value » :""},{"key » :"auth_token »,"value » :""}]},"notify_ amqp » :{"_ » :[{"key » :"enable »,"value » :"off"},{"key » :"url »,"value » :"},{"key » :"exchange,"value » :""},{"key » :"exchange_type »,"value » :""},{"key » :"routing_key »,"value » :""}, {"clé » :"obligatoire »,"valeur » :"off"},{"key » :"durable », « value » :"off"},{"key » :"no_wait »,"value » :"off"},{"key » :"internal »,"value » :"off"},{"key » :"auto_deleted »,"value » :"off » },{"key » :"delivery_mode »,"value » :"0"},{"key » :"queue_limit »,"value » :"0"},{"key » :"queue_dir »,"value » :""}]},"notify_elasticsearch » :{"_ » :[{"key » :"enable »,"value » :"off"},{ « key » :"url »,"value » :""},{"key » :"format »,"value » :"namespace"},{"key » :"index »,"value » :"},{"key » :"queue_dir »,"value » :""},{"key » :"queue_limit »,"value » :"0"},{"key » : » Nom d’utilisateur »,"Value » :"},{"Clé » :"Password »,"Value » :""}]},"notify_kafka » :{{"_""Enable »,"Value » :"Off"},{"Clé » :"Topic »,"Value » :"},{"Clé » :"Courtiers »,"Value » :"},{ » clé » :"sasl_username »,"valeur » :""},{"clé » :"sasl_password »,"valeur » :""},{"clé » :"sasl_mechanism »,"valeur » :"plain"},{"clé » :"client_tls_cert »,"valeur » :""},{"clé » :"client_tls_ clé »,"value » :""},{"key » :"tls_client_auth »,"value » :"0"},{"key » :"sasl »,"value » :"off"},{"key » :"tls »,"value » :"off"},{"key » :"tls_skip_verify »,"value » :"off"},{"key » :"queue_ limit »,"value » :"0"},{"key » :"queue_dir »,"value » :""},{"key » :"version »,"value » :"}]},"notify_mqtt » :{{"_ » :[{"key » :"enable,"value » :"off"},{"key » :"broker »,"value » :"},{"key « :"topic »,"value » :"},{"key » :"password »,"value » :"},{"key » :"username,"value » :"},{"key » :"qos »,"value » :"0"},{"key » :"keep_alive_interval »,"value » :"0s"},{"key » : » reconnect_interval »,"value » :"0s"},{"key » :"queue_dir »,"value » :""},{"key » :"queue_limit »,"value » :"0"}]},"notify_mysql » :{{"_ » :[{"key » :"enable »,"value » :"off"},{"key » : » format »,"value » :"namespace"},{"key » :"dsn_string »,"value » :""},{"key » :"table,"value » :""},{"key » :"queue_dir »,"value » :""},{"key » :"queue_limit »,"value » :"0"},{"key » :"max_ open_connections »,"value » :"2"}]},"notify_nats » :{{"_ » :[{"key » :"enable »,"value » :"off"},{"key » :"address », « value » :"},{"key » :"subject »,"value » :"},{"key » :"username,"value « :"},{"key » :"password »,"value » :"},{"key » :"token,"value » :"},{"key » :"tls,"value » :"off"},{"key » :"tls_skip_verify »,"value » :"off"},{"key » :"cert_authority »,"value » :""} ,{"key » :"client_cert »,"value » :""},{"key » :"client_key »,"value » :""},{"key » :"ping_interval »,"value » :"0"},{"key » :"streaming »,"value » :"off"},{"key » :"streaming_async », » value » :"off"},{"key » :"streaming_max_pub_acks_in_flight »,"value » :"0"},{"key » :"streaming_cluster_id »,"value » :""},{"key » :"queue_dir »,"value » :"},{"key » :"queue_limit », » value » :"0"}]},"notify_nsq » :{{"_ » ::[{"key » :"enable »,"value » :"off"},{"key » :"nsqd_address »,"value » :"},{"key » :"topic,"value » :"},{"key » :"tls »,"value » :"off"},{"key » :"tls_ skip_verify »,"value » :"off"},{"key » :"queue_dir »,"value » :""},{"key » :"queue_limit »,"value » :"0"}]},"notify_postgres » :{{"_ » :[{"key » :"enable »,"value » :"off"},{"key » :"format », « value » :"namespace"},{"key » :"connection_string »,"value » :"},{"key » :"table,"value » :"},{"key » :"queue_dir »,"value » :""},{"key » :"queue_limit »,"value » :"0"},{"key » :"max_ open_connections »,"value » :"2"}]},"notify_redis » :{{"_ » :[{"key » :"enable »,"value » :"off"},{"key » :"format »,"value » :"namespace"},{"key » :"address »,"value » :"},{"key » :"key », » value » :"},{"key » :"password »,"value » :""},{"key » :"queue_dir »,"value » :""},{"key » :"queue_limit »,"value » :"0"}]},"notify_webhook » :{{"_ » :[{"key » :"enable »,"value » :"off"},{ » clé » :"terminaison »,"valeur » :"},{"clé » :"auth_token »,"valeur » :"},{"clé » :"queue_limit »,"valeur » :"0"},{"clé » :"queue_dir »,"valeur » :""},{"clé » :""client_cert »,"valeur » :""},{"clé » : » client_key »,"value » :"}]},"policy_opa » :{{"_ » :[{"key » :"url »,"value » :""},{"key » :"auth_token »,"value » :""}]},"region » :{{"_ » :[{"key » :"name »,"value » :""}]},"scanner » :{"_ » :[{ » key » :"delay »,"value » :"10"},{"key » :"max_wait »,"value » :"15s"}]},"storage_class » :{"_ » :null}} D’abord, fermez l’application console que vous venez d’ouvrir, et la bonne façon de procéder est la suivante :
Bien sûr, vous pouvez aussi utiliser setx pour définir des variables permanentes, voir :
MinIO chiffre les informations de configuration, comme montré dans la figure suivante :
Tentative de chiffrement de toute la configuration, des utilisateurs IAM et des politiques sur le backend MinIO
Note:Le numéro de compte doit faire au moins 3 caractères, et le mot de passe 8 caractères。 Sinon, l’erreur sera la suivante :
La longueur de la clé d’accès doit être d’au moins 3, et la longueur de la clé secrète d’au moins 8 caractères
MinIO est installé en tant que service sous Windows
Chaque fois que vous lancez MinIO via la ligne de commande, c’est très gênant, et il est facile de fermer la fenêtre, et l’application MinIO sera fermée.
Il peut être déployé sous forme de service Windows via l’outil NSSM, tels que :
D’abord, ajoutez NSSM.exe à l’intérieur de la variable de chemin système. (omis)
Créez un nouveau fichier install.cmd avec la commande de script suivante :
Cliquez droit pour exécuter en tant qu’administrateur, comme montré sur l’image suivante :
Rouvrez le site web et connectez-vous avec le compte : itsvse password : ttsvse123456.
Créons un seau nommé test et essayons de télécharger un fichier. Vous pouvez partager le fichier avec des amis. Vous pouvez aussi définir la période de validité du lien. Il peut être utilisé comme disque réseau privé comme montré dans la figure ci-dessous :
Certaines personnes pourraient se demander quelle est la différence entre cela et sauvegarder directement sur un dossier sur un disque dur ?
1. MinIO propose une interface de visualisation de fichiers web ; 2. Son cœur est effectivement distribué, distribuant le même fichier sur différents nœuds serveur pour garantir la fiabilité du fichier ; 3. Si notre stockage est un serveur distant, que nous devions le télécharger sur le serveur via d’autres protocoles, tels que : le téléchargement FTP sur le serveur, le déploiement FTP est également très problématique ; 4. Il possède certaines fonctionnalités avancées, telles que : partager des fichiers directement avec des amis et définir des périodes de validité des liens.
Par conséquent, nous ne pouvons pas le considérer comme un simple middleware qui vous aide à stocker des fichiers dans des dossiers.
(Fin)
|