cuốn sách gpt4 ai đã làm

Cài đặt MinIO máy chủ trên Ubuntu

In lại Tác giả: Sahara Thời gian cập nhật: 27-12-2024 14:49:42 56 4
mua khóa gpt4 Nike

Thì công việc tự động

MinIO là một đối tượng lưu trữ dịch vụ dựa trên giấy phép Apache mở nguồn giao thức v2.0. lưu trữ đám mây Amazon S3 và rất phù hợp để lưu trữ dung lượng lớn dữ liệu cấu trúc phi cấu trúc, như hình ảnh, video, nhật ký tệp, sao lưu dữ liệu và hình ảnh chứa/máy ảo, vv và đối tượng tệp có thể ở bất kỳ lúc nào bất kỳ kích thước nào, từ một số khác nhau, từ kb đến tối đa 5T.

MinIO là một dịch vụ rất nhẹ nhàng, có thể dễ dàng tích hợp các ứng dụng khác như NodeJS, Redis hoặc MySQL.


Trang web tiếng Trung của MiniIO: https://www.minio.org.cn/docs/minio/linux/Operations/installation.html.

Triển khai MinIO và đổi mật khẩu tài khoản minioadmin

Các bước như sau:

Tải xuống MinIO máy chủ.

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

Thêm quyền thực thi vào MinIO phân tách nhị phân.

chmod +x minio

Tạo một thư mục ở vị trí thích hợp để lưu trữ tệp dữ liệu mà MinIO có thể tải lên.

# Tạo minio-data thư mục trong gốc thư mục để lưu trữ tệp dữ liệu được tải lên bởi MinIO mkdir ~/minio-data

Cài đặt MinIO.

sudo mv minio /usr/local/bin/

Sử dụng liên kết môi trường biến để làm tài khoản đăng nhập và mật khẩu cho bảng điều khiển MinIO.

Chỉnh sửa tệp .bashrc, sử dụng nano tại đây.

nano ~/.bashrc

Thêm môi trường biến vào tệp cuối cùng.

xuất MINIO_ROOT_USER=người dùng root mới xuất MINIO_ROOT_PASSWORD=mật khẩu newroot

Tải lại .bashrc để thay đổi hiệu ứng.

nguồn ~/.bashrc

Bắt đầu MinIO.

máy chủ minio nohup --secure ~/minio-data

Nohup được sử dụng ở đây để đảm bảo MinIO sẽ không dừng sau khi phiên đóng. Bạn cũng có thể sử dụng các công nghệ phiên như màn hình hoặc khởi động MinIO dưới dạng dịch vụ. Không có nhiều giới thiệu ở đây.

Sau khi khởi động MinIO, hãy truy cập bảng điều khiển web MinIO bằng cách truy cập vào cổng ip+9000 trong trình duyệt. Nếu không thể truy cập được, trước tiên hãy kiểm tra xem hai cổng của MinIO có mở không. Một là cổng WebUI của MinIO, cổng còn lại là cổng API của MinIO, được cố định ở mức 9000.

Truy cập ip+9000 trong trình duyệt sẽ thực sự chuyển sang cổng WebUI. Nhưng khi sử dụng API để upload và download file thì cần sử dụng cổng 9000.


Cấu hình tên miền cho MinIO

Nếu bạn không muốn hiển thị trực tiếp địa chỉ và cổng của MinIO, bạn có thể sử dụng Nginx để định cấu hình quyền truy cập tên miền cho MinIO.

Trước đó, bạn cần chuẩn bị một tên miền đã đăng ký và phân giải nó đến máy chủ hiện tại.

Các bước thực hiện như sau:

Cài đặt Nginx trước (nếu bạn chưa có).

cập nhật sudo apt-get sudo apt-get cài đặt nginx

Thông thường, không nên thay đổi trực tiếp tệp cấu hình chính nginx nằm trong /etc/nginx/nginx.conf. Sử dụng phương pháp cấu hình sau:

Tạo tệp cấu hình mới trong /etc/nginx/sites-available/, bạn có thể sử dụng trực tiếp tên miền và tên tệp được cấu hình hiện tại. Vì tôi cần định cấu hình nhiều tên miền ở đây nên tên tệp là minio.conf.

cd /etc/nginx/sites-available/ touch minio.conf

Viết tập tin cấu hình.

nanominio.conf

Ví dụ về tập tin cấu hình.

# Máy chủ cấu hình WebUI { listen 80; server_name yourdomain.com; # Thay thế bằng vị trí tên miền của bạn / { proxy_pass http://localhost:44366; # Thay thế bằng cổng thực tế proxy_set_header Host $host; ; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; X-Forwarded-Proto $scheme; } } # Máy chủ cấu hình API { listen 80; server_name api.yourdomain.com; # Thay thế bằng vị trí tên miền API của bạn / { proxy_pass http://localhost:9000; proxy_set_header Máy chủ $host; 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;

Kích hoạt hồ sơ mới được tạo. Liên kết /etc/nginx/sites-available/minio.conf với thư mục /etc/nginx/sites-enabled/.

sudo ln -s /etc/nginx/sites-available/minio.conf /etc/nginx/sites-enabled/

Bạn có thể kiểm tra nginx trước để đảm bảo không có lỗi cú pháp.

nginx -t

Khởi động lại dịch vụ nginx.

sudo systemctl khởi động lại nginx

Tại thời điểm này, bạn sẽ có thể truy cập bảng điều khiển Minio bằng tên miền trên trình duyệt cục bộ của mình.


Ví dụ về lệnh gọi MinIO

Được gọi trong SpringBoot

Thêm phụ thuộc trước
  io.minio minio 8.4.3  

Sau đó tạo một lớp dịch vụ để triển khai tải lên và tải xuống tệp.

nhập io.minio.*; nhập io.minio.messages.Item; nhập java.io.InputStream; nhập java.security.SecureRandom; nhập java.util.Base64; nhập @Service lớp công khai MinIOService { riêng tư cuối cùng MinioClient minioClient; public MinIOService() { try { // Thay đổi cấu hình của riêng bạn, bạn nên ghi nó vào tệp cấu hình this.minioClient = MinioClient.builder() .endpoint("http://localhost:9000") .credentials("minioadmin", "minioadmin") .build() } Catch (MinioException e) { ném RuntimeException mới ("Không thể tạo MinioClient" ", e); } } public String uploadFile(String BuckName, String objectName, luồng inputStream, kích thước dài) { try { minioClient.putObject(bucketName, objectName, luồng, size); return "Tệp được tải lên thành công." } Catch (MinioException | IOException e) { Throw New RuntimeException("Tải lên tệp không thành công.", e); Chuỗi xôName, Chuỗi đối tượng) { thử { return minioClient.getObject(bucketName, objectName } Catch (MinioException | IOException e) { ném RuntimeException mới("Tải tập tin không thành công.", e } } });

Và viết Controller tương ứng cho nó.

nhập org.springframework.beans.factory.annotation.Autowired; nhập org.springframework.core.io.InputStreamResource; nhập org.springframework.core.io.Resource; nhập org.springframework.http.HttpHeaders; .ResponseEntity nhập org.springframework.web.bind.annotation.*; org.springframework.web.multipart.MultipartFile; nhập java.io.IOException; nhập java.io.InputStream; @RestController @RequestMapping("/minio") lớp công khai MinIOController { @Autowired Private MinIOService minIOService; ") public String uploadFile(@RequestParam("file") MultipartFile file) { String BuckName = "my-bucket"; Chuỗi objectName = UUID.randomUUID().toString(); thử (InputStreamstream = file.getInputStream()) { return miniIOService.uploadFile(bucketName, objectName, stream, file.getSize()); Catch (IOException e) { return "Không thể tải tệp lên." } } @GetMapping("/download/{objectName}") public ResponseEntity downloadFile(@PathVariable String objectName) { Chuỗi BucketName = "my-bucket"; luồng inputStream = minIOService.downloadFile(bucketName, objectName); trả về ResponseEntity.ok() .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename); =\"" + objectName + "\"") .body(mới inputStreamResource(stream)); } }

Được gọi trong Flask

Tải xuống phần phụ thuộc
cài đặt pip minio

Sau đó tạo Flask để tích hợp MinIO.

from jar import Flask, request, send_file, jsonify from minio import Minio from minio.error import S3Error app = Flask(__name__) # Cấu hình MinIO minio_client = Minio( # Thay đổi thành "localhost:9000", access_key="minioadmin" của riêng bạn secret_key="minioadmin", safe=False ) @app.route('/upload', Method=['POST']) def upload_file(): file = request.files['file'] xô_name = 'my-bucket' object_name = file.filename thử: với open('/tmp/' + object_name, 'wb') là f: f.write( file.read()) minio_client.fput_object(bucket_name, object_name, '/tmp/' + object_name) return jsonify({'message': 'File đã tải lên thành công'}), 200 ngoại trừ S3Error dưới dạng exec: return jsonify({'error': str(exc)}), 500 @app.route('/download/', Method=['GET']) def download_file(object_name): xô_name = 'my-bucket' thử: reply = minio_client.get_object(bucket_name, object_name) return send_file( reply.stream, as_attachment=True, attachment_filename=object_name, mimetype=response.headers['content-type'] ) ngoại trừ S3Error as exec: return jsonify({'error': str(exc)}), 500 if __name__ == '__main__': app.run(debug=True)

Đề nghị đọc

MinIO Plus: https://mp.weixin.qq.com/s/kSkC3X-SQqo5GzXt-H66xw

Cuối cùng, bài viết về xây dựng máy chủ MinIO trên Ubuntu kết thúc tại đây. Nếu bạn muốn biết thêm về cách xây dựng máy chủ MinIO trên Ubuntu, vui lòng tìm kiếm các bài viết về CFSDN hoặc tiếp tục duyệt qua các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ tôi trong tương lai. blog! .

56 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress