在 Chevereto 4.2 版本之前,我一直使用 FTP 作为外置存储来管理图床文件,因为那时 Chevereto 并不支持 MinIO 的路径模式。

但随着 4.2 版本的更新,Chevereto 终于支持了 MinIO,这让我可以将存储迁移到更高效、更安全的云存储方案。本文将分享如何将原本存储在 FTP 上的图床文件迁移到 MinIO,并优化存储管理。

安装 MinIO

HestiaCP 安装 MinIO 教程
在Hestiacp中新建网站,配置ssl,新建数据库的操作就不再赘述了。如果你是第一次看到hestiacp系列教程,请点击下方链接,就能看到完整的一系列教程了。 HestiaCP - HOSTEYEHOSTEYE由 FOXCOO 如果你想利用hestiacp的备份与恢复功能,那就将minio安装到网站目录下。这里将以此类情况演示。 安装 MinIO 服务器 这里新建用户不建议用minio 你可以使用minio-user 。 因为要利用hestiacp的备份与恢复功能,所以我们全部自定义安装。 然后进入网站目录/home/minio-user/web/xxx.com/public_html/ 使用以下命令下载最新的稳定 MinIO 二进制文件并将其安装到系统 wget https://dl.min.io/server/minio/release/linux-amd64/minio chmod +x minio 使用 systemd 守护进程 在 /etc/systemd/

安装 MinIO 客户端(mc)

在你ftp的vps上安装

curl https://dl.min.io/client/mc/release/linux-amd64/mc \
  --create-dirs \
  -o $HOME/minio-binaries/mc

chmod +x $HOME/minio-binaries/mc
export PATH=$PATH:$HOME/minio-binaries/

mc --help

使用mc alias set命令将Amazon S3兼容的服务添加到mc中。

mc alias set myminio HOSTNAME ACCESS_KEY SECRET_KEY
  • HOSTNAME替换为S3服务的URL端点或IP地址。
  • ACCESS_KEYSECRET_KEY替换为S3服务上用户的访问和密钥。

迁移文件到 MinIO

将文件从 /imgeye 目录上传到 MinIO 桶

mc cp -r /imgeye myminio/mybucket/

自行修改

修改外部存储

不要删除原来的 SFTP 存储配置。Chevereto 会继续使用你原来的存储路径来访问已上传的文件。如果删除配置,文件路径可能会失效,导致访问问题。

千万不要删除旧的存储配置,直接将存储类型修改为 S3 Compatible 存储即可。

然后URL处路径格式要保持一致。

HestiaCP

用HestiaCP的注意一下,php-fpm模版要改一下,使用这个:

; origin-src: deb/php-fpm/multiphp.tpl
;#=========================================================================#
;# Default Web Domain Template                                             #
;# DO NOT MODIFY THIS FILE! CHANGES WILL BE LOST WHEN REBUILDING DOMAINS   #
;# https://hestiacp.com/docs/server-administration/web-templates.html      #
;#=========================================================================#

[%domain%]
listen = /run/php/php%backend_version%-fpm-%domain%.sock
listen.owner = %user%
listen.group = www-data
listen.mode = 0660

user = %user%
group = %user%

pm = ondemand
pm.max_children = 8
pm.max_requests = 4000
pm.process_idle_timeout = 10s
pm.status_path = /status

php_admin_value[upload_tmp_dir] = /home/%user%/tmp
php_admin_value[session.save_path] = /home/%user%/tmp
php_admin_value[open_basedir] = /home/%user%/.aws:/home/%user%/.composer:/home/%user%/web/%domain%/public_html:/home/%user%/web/%domain%/private:/home/%user%/web/%domain%/public_shtml:/home/%user%/tmp:/tmp:/var/www/html:/bin:/usr/bin:/usr/local/bin:/usr/share:/opt
php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f admin@%domain%

env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /home/%user%/tmp
env[TMPDIR] = /home/%user%/tmp
env[TEMP] = /home/%user%/tmp

然后在/home 目录下新建一个.aws文件夹

包含的标签:

教程, Chevereto

最后更新: November 17, 2024