关于软件安装的前置知识
1. 官方仓库中的软件包
如果你想安装的软件包已经在你的 Linux 发行版的官方仓库中(例如 Ubuntu),你可以直接使用以下命令:
sudo apt install <软件包名>
这会自动从官方仓库下载安装和安装该软件包,并且会自动处理软件包的依赖关系。
2. 没有的软件包
如果你想安装的软件包没有在官方仓库中,通常可以选择:
- 从官方网站手动下载
.deb
或.rpm
包,这通常是用来安装那些不在仓库中的软件。 用
wget
下载.deb
包:wget <网址> -O <指定文件名>
例如:
wget https://example.com/software.deb -O minio.deb
这将会下载
.deb
安装包并保存为minio.deb
。
- 从官方网站手动下载
3. 使用 dpkg -i
安装 .deb 文件
dpkg -i
是用来手动安装.deb
安装包的命令。dpkg
(Debian Package Manager)是 Debian 系列(包括 Ubuntu)用于处理.deb
包的工具。命令格式:
sudo dpkg -i <deb文件名>
例如:
sudo dpkg -i minio.deb
这个命令会解压并安装
.deb
文件里的内容,并把它放到相应的系统路径上。
为什么不用 apt install
来安装 .deb
文件呢?
apt install
是用于从软件仓库中安装软件包的,而dpkg -i
是专门用于安装本地.deb
包,也就是说,当你手动下载了.deb
文件时,apt
无法识别本地文件,因此需要使用dpkg
来安装。
4. 解决依赖问题
- 如果你在使用
dpkg -i
安装.deb
文件时遇到了依赖问题,系统会提示缺少某些依赖项。 你可以通过执行以下命令来自动修复缺失的依赖:
sudo apt install -f
这个命令会检查并安装所有缺失的依赖包,使软件安装顺利完成。
下载安装MinIO
通过执行 dpkg -i minio.deb
,它已经自动将 MinIO 的二进制文件放置在了 /usr/local/bin
目录下。这个目录是默认的安装路径,所有通过 .deb
包安装的程序一般都会自动放到这个位置。所以不需要考虑执行命令时所在目录,执行完后可以删除.deb包。
这边由于我们就使用.deb包安装的,所以service file已经默认生成了,如果是二进制方式安装,才需要复制粘贴文档里提供的。这边我们不用管,直接跳过。
接着执行
groupadd -r minio-user
useradd -M -r -g minio-user minio-user
chown minio-user:minio-user /mnt/data
如果没有/mnt/data就创建一下
sudo vim /etc/default/minio
复制,修改minio的用户名和密码,粘贴
接下来使用systemctl启动
sudo systemctl start minio.service
sudo systemctl status minio.service
sudo systemctl enable minio.service
然后通过控制台访问
http://<your-server-ip>:9001
Nginx配置反向代理
在/etc/nginx/sites-available下面创建一个minio.conf,进行相应配置
我让chatgpt帮配置的,申请的SSL证书还没好,所以先用HTTP,记得安全组开放80,443,9000,9001端口
server {
listen 80;
server_name 域名或者ip;
location / {
proxy_pass http://127.0.0.1:9000; # MinIO 服务地址
proxy_set_header Host $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;
proxy_redirect off;
}
}
配置完成后软链接到/etc/nginx/enabled/下面
nginx -t
nginx -s reload
浏览器输入域名或ip地址, 会自动重定向到9001端口,这个是 MinIO 的 Web 控制台 管理界面的端口。
进入后创建桶
选项可以不选,我也没深入研究
也可以创建用户
创建Access Key(保存好,下面会用到)
下载Windows客户端用CLI进行连接
上面提到了浏览器会把9000端口重定向9001端口,这个端口是提供Web界面服务的。那9000端口呢?是提供供 API 接口 和 客户端(如 mc 或 SDK) 连接的。
官方文档已经给出链接
下载完成后,不是通过双击.exe启动的,在.exe所在位置打开终端
.\mc.exe alias set myminio http://域名或ip:9000 AccessKey SecretKey
替换上面生成的key
通过9000端口即可访问
手机访问
上传视频、设置用户并分配权限后,你只需要在手机浏览器中输入域名或 IP 地址,登录到 MinIO,就可以轻松预览或下载视频。通过这种方式,我成功搭建了一个私人存储服务,不仅可以随时随地访问自己的视频资料,还能保持数据的安全性和隐私性。未来,随着需求的增长,MinIO 也可以支持更复杂的存储管理需求,进一步提升私有云存储的灵活性和可扩展性。
补充
初始管理员凭证:
初始管理员的 用户名/密码 和 Access Key/Secret Key 是 统一的,都用于 Web 控制台 和mc
CLI 工具 登录。
这些凭证通过环境变量设置:MINIO_ROOT_USER
:管理员的用户名(默认是minioadmin
)MINIO_ROOT_PASSWORD
:管理员的密码(默认是minioadmin
)
- 普通用户凭证:
普通用户的 用户名/密码 仅用于 Web 控制台 登录;
Access Key/Secret Key 仅用于mc
CLI 工具 登录。