开源免费的兰空图床搭建好了,可往往免费的既是最贵的。如果你搭建在云服务器,2核/2G/3M/40G阿里云服务器常年价¥99,40G的图床混合存储大小不一的图片4W张以上,那感觉也足够了。算了,将来有天你打算迁移到本地,那该如何操作呢?
低分辨率图片:如果图片是低分辨率的(比如 640x480),并且经过压缩,每张图片可能只需要几十KB到几百KB。这样算下来,40GB可以存储大约 100,000 到 1,000,000 张图片。
中等分辨率图片:如果是中等分辨率的图片(比如 1920x1080),每张图片可能需要 1MB 到 5MB。这样算下来,40GB可以存储大约 8,000 到 40,000 张图片。
举个例子:我现在要将本地的Lsky Pro迁移到阿里云
我是用docker镜像安装Lsky Pro,根据迁移官方的升级教程(迁移也是同理。)
升级 | Lsky Pro :https://docs.lsky.pro/docs/free/v2/quick-start/upgrade.html#%E5%9C%A8%E7%BA%BF%E5%8D%87%E7%BA%A7
手动升级
如果在线升级失败,可以尝试手动升级。首先你需要前往 https://github.com/lsky-org/lsky-pro/releasesopen in new window 找到最新的版本,下载完整的安装包。(如果你不是开发人员,请不要下载名为 Source code 的压缩包,此为未安装依赖的源码包)
然后按照以下步骤进行升级:
备份
storage和public目录下的缩略图文件夹(默认该文件夹名称为thumbnails)删除 除了 目录
.env文件和installed.lock文件以外的所有文件夹以及文件解压新版本到程序根目录(替换掉旧版本)
将备份的
storage文件夹替换掉已解压的storage文件夹,将备份的缩略图文件夹放到public目录下修改版本号,进入数据库找到
configs表,修改name为app_version的value值,例如V 2.0,字符串必须完全一致。进入程序根目录执行依次执行以下命令(需要PHP 8+)
php artisan migrate --seedphp artisan optimize:clear
本地储存以及使用 sqlite 需要注意的事情
使用 sqlite 默认情况下会将数据库文件放置
database文件夹下,请在升级之前备份该数据库文件,并在上述第三步操作以后将数据库文件放置原位。本地储存策略的所有上传的图片都会保存在
storage文件夹下,数据无价,请注意备份该文件夹。本地储存策略会在
public文件夹下生成符号连接(软连接),删除public目录后,请在升级完成以后编辑本地储存策略,保存一下以重新生成符号连接。
迁移 | Lsky Pro :https://docs.lsky.pro/docs/enterprise/v1/quick-start/migration.html#_1-%E6%89%93%E5%8C%85
1. 打包
一般情况下,程序的 public 目录中会存在多个个系统保留目录名,目录结构如下:
└─ public
├─ css 系统层叠式样式表
├─ fonts 系统字体文件
├─ i 程序默认本地储存的符号链接(可能不存在)
├─ img 系统图片文件
├─ js 系统 javascript 文件
├─ thumbnails 程序图片缩略图的符号链接
├─ uploads 系统图片上传的符号链接(例如相册封面、背景图等)
└─ ...
符号链接映射关系:
public/thumbnails -> storage/app/thumbnailspublic/uploads -> storage/app/publicpublic/i -> storage/app/uploads
迁移前,我们先将 public 中的 thumbnails、uploads、i 等所有符号链接删除。然后备份数据库,打包程序目录。
为什么要删除符号链接?
如果不删除符号链接,打包压缩程序目录时,会将符号链接所指向的文件也打包进去,导致迁移后符号链接失效,无法找到对应的文件。
注意
打包时请注意程序中 . 符号开头的文件,这些可能在某些文件管理程序中被隐藏,请不要忽略了这些文件。
3. 迁移到新服务器
将打包后的代码和数据库文件,上传到新服务器站点目录解压,并导入数据库。
打开根目录 .env 文件,修改数据库连接信息:
APP_DEBUG=true 开启调试模式
DB_CONNECTION=mysql 数据库类型
DB_HOST=127.0.0.1 数据库连接地址
DB_PORT=3306 数据库连接端口
DB_DATABASE=lsky_pro 数据库名称
DB_USERNAME=root 数据库用户名
DB_PASSWORD=root 数据库密码
REDIS_HOST=127.0.0.1 Redis 连接地址,一般默认就好
REDIS_PASSWORD=null Redis 连接密码,一般默认就好
REDIS_PORT=6379 Redis 连接端口,一般默认就好
将以上配置修改为你的环境对应配置值,然后配置站点伪静态、运行目录、设置站点文件权限。具体操作可参考安装章节第二步-准备运行环境
#4. 生成符号链接
进入 SSH 终端,进入站点目录,然后执行重新生成符号链接命令:
php artisan lsky:symlinks
注意
如果你使用了本地的储存策略,需要进入后台编辑该策略,重新保存一下以生成对应储存的符号连接。
实际操作

备份
storage和public目录下的缩略图文件夹(默认该文件夹名称为thumbnails)
删除 除了 目录
.env文件和installed.lock文件以外的所有文件夹以及文件备份数据库

迁移前,我们先将
public中的thumbnails、uploads、i等所有符号链接删除。(我决定在上传还原目录的时候删除)安装Lsky pro镜像,然后将其停止。
还原
storage和public目录,并将public中的thumbnails、uploads、i等所有符号链接删除。
还原数据库

启动镜像
IP+端口号,进入Lsky Pro首页。

要是缩略图没显示出来,就修改存储策略

评论