Dalam tutorial ini kita akan memasang dan menunjukkan penggunaan Minio di Ubuntu 18.04 pelayan LTS. VPS ini mempunyai IP statis dan saya akan menyiapkan rekod DNS dan sambungan TLS untuk menjadikan Objek ini selamat dan pengeluaran siap mungkin.
Prasyarat
Berikut adalah prasyarat yang anda perlukan sekiranya anda mahu mengikutinya:
- VPS yang menjalankan Ubuntu atau distro Linux lain dengan IP statik (IP_ADDRESS akan menjadi tempat kami, ganti dengan alamat IP sebenar VPS anda)
- Nama Domain yang Layak sepenuhnya [FQDN]. contoh.com akan menjadi pemegang tempat kami.
Pemasangan dan Pelbagai Persediaan
Mari masuk ke VPS kami dan bersiap sedia agar Minio dapat berjalan dengan baik.
1. Persediaan DNS
Pergi ke pelayan nama di mana rekod DNS domain anda disimpan, kemungkinan ini dijumpai di laman web pendaftar domain anda. Tambahkan rekod A, menunjukkan FQDN pilihan anda (contohnya minio.contoh.com) ke IP_ADDRESS VPS anda.
2. Pengguna Minio
Sebelum memasang Minio, mari buat akaun pengguna UNIX baru di mana minio akan dijalankan. Kami tidak mahu menjalankannya sebagai root atau sebagai pengguna biasa yang mungkin mempunyai akses sudo atau aplikasi lain yang berjalan di bawahnya. Kami membuat akaun sistem minio, bernama minio-user:
$ sudo useradd --system minio-user --shell / sbin / nologin3. Muat turun Minio
Seterusnya kami memuat turun perduaan minio (Ia ditulis dalam Go yang menyusun menjadi binari ringan kecil).
Dapatkan perduaan
$ curl -O https: // dl.minio.io / pelayan / minio / pelepasan / linux-amd64 / minioPindahkan binari ke lokasi di mana binari biasanya berada:
$ sudo mv minio / usr / local / binJadikan fail binari boleh dilaksanakan dan berikan pengguna minio-user dan kumpulan kepemilikannya:
$ sudo chmod + x / usr / local / bin / minio$ sudo chown minio-user: minio-user / usr / local / bin / minio
4. / dll fail konfigurasi, skrip permulaan dan peranti storan
Kami memerlukan Minio untuk memulakan dengan sistem reboot dan dikenali sebagai perkhidmatan yang dijalankan oleh OS. Tidak melakukannya akan mengakibatkan malapetaka seperti ketika pembunuh OOM melihat proses ini dan memutuskan bahawa ia tidak cukup berguna. Kami juga memerlukan direktori di mana data sebenar kedai objek kami akan disimpan:
$ sudo mkdir / usr / local / share / minio$ sudo mkdir / etc / minio
Pastikan minio mempunyai kawalan penuh terhadap direktori berikut:
$ sudo chown minio-user: minio-user / usr / local / share / minio$ sudo chown minio-user: minio-user / etc / minio
Di dalam direktori / etc / default kita perlu membuat fail minio untuk menentukan pemboleh ubah persekitaran seperti nombor port yang akan kita dengarkan dan direktori di mana data harus disimpan (volume). Kami membuat volume lebih awal yang merupakan direktori / usr / local / share / minio. Oleh itu, gunakan editor teks kegemaran anda untuk membuat fail / etc / default / minio dan tambahkan kandungan berikut di dalamnya:
MINIO_VOLUMES = "/ usr / local / share / minio /"MINIO_OPTS = "- C / etc / minio - alamat minio.contoh.com: 443 "
Pastikan anda menulis FDQN sebenar VPS anda dan bukannya rentetan literal minio.contoh.com di atas. Port nombor 9000 adalah yang biasa mereka gunakan dalam Dokumentasi tetapi kami akan menggunakan pemasangan TLS yang betul dengan mendengar di port 443. Oleh kerana ia adalah nombor port kurang dari 1024, kita perlu memberitahu OS dengan jelas bahawa tidak apa-apa untuk minio mendengar di port ini:
$ sudo setcap 'cap_net_bind_service = + ep' / usr / local / bin / minioTerakhir, kita perlu mengkonfigurasi minio perkhidmatan. Nasib baik skrip yang ada boleh didapati di repo GitHub mereka dan kami akan meletakkannya di tempat yang sesuai:
$ curl -O https: // mentah.githubusercontent.com / minio / minio-service / master / linux-systemd /minio.perkhidmatan
$ sudo mv minio.perkhidmatan / etc / systemd / sistem
Muat semula semua unit systemd dan aktifkan minio untuk memulakan boot
$ sudo systemctl daemon-reload$ sudo systemctl mengaktifkan minio
Akhir sekali, pastikan bahawa firewall anda membenarkan komunikasi di port 443.
LetsEncrypt TLS Sijil menggunakan Certbot
Kita perlu merundingkan sijil TLS antara pelayan Minio kami dan LetsEncrypt. Certbot adalah pelanggan yang melakukan ini untuk kami dan juga mengautomasikan pembaharuan sijil. Mari pasang Certbot terlebih dahulu:
$ sudo apt kemas kini$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa: certbot / certbot
$ sudo apt-get kemas kini
$ sudo apt-get install certbot
Kemudian pasang sijil, seperti yang didokumentasikan oleh Minio Docs:
$ sudo certbot certonly --standalone -d minio.contoh.com --staple-ocsp -mnama pengguna @ e-mel.com --agree-tos
Di sini anda memasukkan FQDN anda untuk pelayan Minio selepas bendera -d dan alamat e-mel anda selepas bendera -m. Alamat e-mel penting kerana membolehkan LetsEncrypt memberitahu anda mengenai pembaharuan yang belum selesai.
E-mel anda sekarang akan ada di / etc / letsencrypt / live / minio.contoh.com. Sudah tentu, nama direktori terakhir bergantung pada FQDN pilihan anda. Sekarang salin sijil ke direktori Minio / etc / minio dan beri kebenaran untuk mengaksesnya.
$ cp / etc / letsencrypt / live / minio.ranvirslog.com / rantai penuh.pem / etc / minio / sijil / awam.crt$ cp / etc / letsencrypt / live / minio.ranvirslog.com / privkey.pem / etc / minio / sijil / swasta.kunci
$ chown minio-user: minio-user / etc / minio / certs / awam.crt
$ chown minio-user: minio-user / etc / minio / certs / private.kunci
Sekarang anda sudah bersedia untuk menggunakan perkhidmatan ini:
$ sudo perkhidmatan minio permulaanstatus $ mino perkhidmatan sudo
Pengeluaran:
- minio.perkhidmatan - Minio
Aktif: aktif (berjalan) sejak Sel 2018-10-09 11:54:41 PDT; 5s yang lalu
Dokumen: https: // dokumen.minio.io
Proses: 15874 ExecStartPre = / bin / bash -c [-n "$ MINIO_VOLUMES"] && echo "Pembolehubah
MINIO_VOLUMES tidak ditetapkan dalam / etc / default / minio "(kod = keluar, status = 0 / KEJAYAAN)
PID Utama: 15877 (minio)
Tugas: 13 (had: 4915)
Kumpulan Kumpulan: / sistem.hirisan / minio.perkhidmatan
Server15877 / usr / local / bin / minio server -C / etc / minio - alamat minio.contoh.com: 443 / usr /
tempatan / berkongsi / minio /
09 Okt 11:54:41 nama hos minio [15877]: Akses Penyemak Imbas:
09 Okt 11:54:41 nama hos minio [15877]: https: // minio.contoh.com
09 Okt 11:54:41 nama hos minio [15877]: Akses baris arahan: https: // docs.minio.io / dokumen /
panduan minio-client-quickstart-guide
09 Okt 11:54:41 nama hos minio [15877]: hos konfigurasi $ mc tambahkan myminio
https: // minio.contoh.com
PAMH22LU3YJIFLU82H2E IKJ + qtc0Oqdn46R3dLfsjv5bCnm8UEeIBYpdG8qg
…
Keluaran arahan ini akan mengandungi kunci akses (PAMH22LU3YJIFLU82H2Edan kunci rahsia (IKJ + qtc0Oqdn46R3dLfsjv5bCnm8UEeIBYpdG8qg) untuk minio seperti yang ditunjukkan dalam huruf tebal di atas. Kunci anda akan berbeza jadi jangan menyalin yang disebutkan di sini.
Menggunakan Minio
Buka penyemak imbas anda dan lawati https: // minio.contoh.com (pastikan untuk menggunakan FQDN yang anda tetapkan) dan gunakan kunci akses dan rahsia yang disenaraikan dalam perintah status minio perkhidmatan anda untuk log masuk untuk pertama kalinya.
Dan anda akan disambut oleh Minio UI.
Di sini anda boleh menggunakan tanda tambah di sudut kiri bawah untuk memuat naik fail atau membuat baldi baru. Saya membuat baldi baru yang dipanggil mybucket.
Anda boleh menyunting dasarnya untuk membaca dan menulis dan kemudian memuat naik beberapa fail (katakan gambar) ke dalam baldi ini. Minio akan membuat URL unik untuk setiap objek dalam baldi. Anda boleh menetapkan dasar untuk membaca dan menulis per baldi serta tarikh luput pada URL objek individu.
Kesimpulannya
Itulah asas bagaimana anda memulakan dengan menyimpan objek. Objek itu sendiri tidak boleh diubah suai hanya dibaca atau ditambahkan ke dalam baldi. Anda boleh mengintegrasikannya ke dalam aplikasi anda dengan mengikuti dokumentasi rasmi. Ini menyokong pelbagai bahasa pengaturcaraan mulai dari Go, Python, JavaScript hingga .BERSIH.