使用宝面板搭建Chevereto图床,对接Backblaze B2存储、Cloudflare CDN加速图床免费无限流量【2022年最新教程】

1486 字
7 分钟
使用宝面板搭建Chevereto图床,对接Backblaze B2存储、Cloudflare CDN加速图床免费无限流量【2022年最新教程】

Chevereto是什么?#

Chevereto简介#

Chevereto 是一个自托管的多用户、功能齐全的图像托管解决方案,在全球有着广泛的使用。说人话:这是一个图床程序。Chevereto 的核心提供了一个图像托管服务,您可以配置它以在不同的上下文中使用它。它有很多应用,包括:

  • 图片托管/分享服务
  • 展示画廊
  • 资产图像存储
  • 基于图像的共享社区

Chevereto 的重点在于它可以处理非常大的图像集合,并针对网络使用进行了优化。Chevereto 旨在提供大规模的图像托管和共享。

Chevereto版本比较#

Chevereto有收费版和免费版提供。收费版的价格可在官方网站找到。免费版的Chevereto在这里:Chevereto-Free。收费版与免费版的区别你可以在Chevereto-Free的README.md中找到。因为后续要对接Backblaze B2存储,所以本文教程仅针对Chevereto收费版部署。如果你正在考虑Chevereto-Free的部署,你或许能在别处找到相关的信息。

Chevereto官方文档#

额外的说明:本文参考的对象为官方文档,随着版本的更新,一些博客文章变得不再有效,因此并不具备参考价值。当然,这一现象这也包括一段时间过后的本文。虽然可能变得不再具有时效性,但是也能给你一定的启发,这是本文存在的价值。

开始部署Chevereto#

所需的安装环境#

  • PHP7.4
  • MySQL 5.6
  • 宝塔面板
  • Nginx 1.18.0

下载Chevereto程序#

购买了Chevereto的许可证后,你应该会收到这样一封邮件

邮件信息
邮件信息

此时前往邮件中附加的地址:https://chevereto.com/panel,即可下载Chevereto程序

下载地址
下载地址

建立一个站点#

使用宝塔面板建立一个站点,并做好域名解析。本文以http://testimage.kanochan.net示例。

添加域名解析
添加域名解析
建立站点
建立站点
注意必须使用PHP7.4,其他低于7.4版本的PHP会发生错误。
删除站点默认文件
删除站点默认文件
上传Chevereto程序后解压到站点根目录
上传Chevereto程序后解压到站点根目录

安装Chevereto#

  • 下载官方安装文件:installer.php
  • 将文件放入站点根目录
    installer.php
    installer.php
  • 配置Nginx伪静态 将下列代码加入到宝塔面板的伪静态设置中。注意这个步骤很重要,如果缺失这一步,后续过程将无法进行。
# Pretty URLs
location / {
try_files $uri $uri/ /index.php?$query_string;
}

设置伪静态
设置伪静态


至此,Chevereto的部署已经全部完成,如果你需要进一步配置Chevereto,例如修改语言、配置存储池等,请参考前述的帮助文档。

使用Backblaze B2存储#

Backblaze B2是啥#

等待更新…

建立存储池#

等待更新…

Backblaze B2接入Chevereto#

等待更新…

使用Cloudflare CDN加速图床服务#

配置缓存规则#

等待更新…

美化图片URL#

等待更新…

图片防盗链(针对自用图床)#

等待更新…

反向代理Cloudflare CDN#

Cloudflare在国内的连接效果实在是太差了,正好服务器线路是CN2 GIA,速度不错,流量也近乎无限,可以用来代理Cloudflare CDN,加快图片打开速度。因为Backblaze B2到Cloudflare CDN的流量是不计费用的,所以我们需要反代的是Cloudflare CDN,而不是Backblaze B2。

新建反向代理站点#

选择静态页面即可。

新建站点
新建站点

配置SSL#

因为Cloudflare CDN通过https传输,作为反向代理站点,同样需要配置SSL。过程略。

配置反向代理#

缓存开启与否,看你自己需要了。通过测试发现,服务器本地到Cloudflare CDN的延迟近乎为零,带宽更不用说了。为了节省服务器存储,我没有配置缓存。当需要访问图片时,实时从CDN抓取就好了。

反向代理
反向代理

配置反向代理站点的防盗链#

应该要注意一点的是,宝塔面板的反向代理仅提供了有限的可视化配置功能,更高级的配置需要从配置文件修改。另外,主站点的防盗链并不适用于反向代理,言下之意,需要单独配置反向代理的防盗链。

反向代理配置文件
反向代理配置文件

打开反向代理的配置文件,将防盗链配置加入反向代理配置中,如果你不知道如何插入防盗链配置,可将下列代码直接覆盖原有的反向代理配置,注意根据实际情况更改你的域名,另外,下面的代码没有开启缓存,如果你有需求,请自行更改。

#PROXY-START/
location ^~ /
{
location ~ .*\.(jpg|jpeg|gif|png|js|css)$
{
expires 30d;
access_log /dev/null;
valid_referers 防盗链许可域名(多个域名使用空格分开);
if ($invalid_referer){
return 404;
}
proxy_pass 反向代理的域名(带协议,如http://test.test);
}
proxy_pass 反向代理的域名(带协议,如http://test.test);
proxy_set_header Host image.kanochan.net;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_ssl_server_name on;#这里的配置是解决反向代理502错误的问题。
proxy_ssl_name 反向代理的域名的(不带协议);#这里的配置是解决反向代理502错误的问题。
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
set $static_filep08tIsnO 0;
if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
{
set $static_filep08tIsnO 1;
expires 12h;
}
if ( $static_filep08tIsnO = 0 )
{
add_header Cache-Control no-cache;
}
}
#PROXY-END/

配置示例
配置示例

修改Chevereto的图片url#

这很重要,如果不修改,访问图片仍然是直连Cloudflare CDN。 后台管理-设置-外部存储-编辑存储-url

修改url
修改url

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

使用宝面板搭建Chevereto图床,对接Backblaze B2存储、Cloudflare CDN加速图床免费无限流量【2022年最新教程】
https://kanochan.net/posts/chevereto-b2-cloudflare-tutorial/
作者
KanoChan
发布于
2022-01-11
许可协议
CC BY-NC-SA 4.0

评论区

文章目录