起因
我之前使用的图床一直是 chevereto ,直到其团队宣布:在2021年12月31日结束对免费用户的支持。详细内容可以查看官方论坛的说明。迫不得已,我需要寻找下一个图床。
要求
我对新图床的要求主要是
- 自建(在不滥用 Github 的前提下)
- 依赖的第三方服务尽可能少
- 有一个说的过去的前端
- 专为图片存储,不存储其它文件
- Webp 支持良好
于是 Lychee 进入了我的视野
Lychee 一开始设计的是为了制作一个照片展示、分享的平台,它可以读取 EXIF 信息,非常易于分享,这样强大的功能,自然吸引了大量写博客的人,于是 Webp 格式也随之支持,我既可以用它来当博客图床,平时还可以上传需要分享的照片,真是再好不过了。Lychee的优点:
- 便于管理
- 易于分享
- 方便查看
- 开源 MIT
- 安全,self-hosted
- UI 简洁
- EXIF 支持
- 多种导入途径
- 支持打 Tag
部署
同部署 WordPress 一样 Lychee 部署也非常容易,需要的环境有:
- Apache 或 nginx
- 适合的数据库
- PHP >= 7.4 和一些扩展
可以在这个页面看到详细要求
我的 WordPress 服务器所在的服务器刚好满足它的要求,且前端与数据库分离。由于已经有了合适的环境,我选择从 Github Release 下载版本然后运行,你也可以直接使用docker,更加方便。至于安装 lnmp 环境,你可以自行编译,也可以使用一键脚本、服务器管理面板等。
部署过程中要注意一些重要的地方需要特别注意:
Nginx 配置文件中
root /var/www/lychee/public/ #public目录下运行才可正常使用,如果在上一级,用户可以下载到存储账号、密码的文件
#下面这节 rewrite 规则非常重要!如果配置错误则无法使用。
if (!-e $request_filename)
{
rewrite ^/(.*)$ /index.php?/$1 last;
break;
}
迁移
从 cheverto 迁移到 Lychee 是一件非常令人头大的事情, 链接完全不一样,好在我的图片并不多,如果有大量图片,这可能是一个非常艰巨的工作,不过或许可以尝试批量导出图片url,找出对应关系,然后利用 SQL 语句替换 WordPress中出现的内容。
不过在这同时,我把我的图片格式全部转换成 webp 了。
使用
前端依旧非常简单轻量,作为博客的图床,我最主要的使用方式就是使用浏览器端进行上传图片。嗯,不错的使用体验!