前言:
手里有台香港阿里云机器,不知道干什么好,干脆拿来做些小实验,呆在家里防疫都已经快长毛了。。。博客上的图片本来是托管在阿里云OSS上的,但是感觉管理起来不是很方便。而且本来很好用的 SM.MS 免费图床也慢慢走上收费的道路,于是我就萌生了自建图床的想法。由于本人比较菜,没有计算机基础,更不是相关专业的,所以与其说是教程,不如说是实况记录?欢迎大佬们指点。
今天的主角是:Chevereto 【开源的支持私服的图床程序】
图床,也就是专门提供存储图片的地方,我们只要通过图床提供的 API 接口,把图片上传上去,就可以通过外链访问了,根本不用操心图片是怎么存的,硬盘空间不够了,硬盘坏了,访问速度比较慢等等问题,这些图床都会帮我们搞定,他们会用各种技术帮我们做图片相关的优化和服务,比如多机互备、CDN 加速、图片处理、图片鉴黄、文本识别等等。
目前图床可以分为两种,一种是公共图床,一种是自建图床。公共图床也就是利用公共服务的图片上传接口,来提供图片外链的服务,比如新浪微博。自建图床,也就是利用各大云服务商提供的存储空间或者自己在 VPS 上使用开源软件来搭建图床,存储图片,生成外链提供访问,比如七牛、Lychee 开源自建图床方案。
① Imgur 图床:https://imgur.com/
② SM.MS 图床:https://sm.ms/
③ 阿里云OSS:https://www.aliyun.com/price/product#/oss/detail
④ 又拍云OSS:https://www.upyun.com/products/file-storage
⑤ 七牛云OSS:https://developer.qiniu.com/kodo
在网上逛了一下,常用的自建图床服务就是 Chevereto 口碑最好了。分为免费版和付费版。付费版支持硬盘扩展、社交分享功能,也可以获得官方的技术支持,不过我觉得自用的话,免费版就够了。
Chevereto 免费版的 Github 项目地址:https://github.com/Chevereto/Chevereto-Free
网站 Demo:https://demo.chevereto.com/
一台Linux CentOS7服务器。这里选的是阿里云服务器。
一个域名,也是在阿里云注册的域名。
PHP 7 (PHP 5.6 min)
MySQL 8 / MariaDB 10 (ALL PRIVILEGES)
Apache / NGiNX web server
首先按照要求部署系统环境。由于是零基础,所以我采用宝塔面板来搭建环境。
宝塔面板是提升运维效率的服务器管理软件,用处就是可视化管理,并且有很多一键操作,比较适合萌新用户。宝塔的官网上有部署命令和相关教程,这里不再赘述。
我选择部署的 web 环境是:
Nginx 1.16.0 , Php 7.3 , Mysql 10.0.38-MariaDB
LNMP环境部署之后,首先需要创建一个网站。请创建数据库,选择 MySQL 。程序类型选择 PHP 。请保管好相关密码。
可以选择同时创建 FTP 来进行文件传输或者直接使用宝塔面板的“文件”功能将 Chevereto 文件上传到 VPS 。
后边会用到。
请到 Github 下载最新的程序源码:https://github.com/Chevereto/Chevereto-Free/releases
保存到本地备用。
不建议将本地的源码解压后再通过 FTP 上传,因为速度会很慢。
推荐将压缩包直接通过宝塔面板的“文件”功能上传到服务器,然后再执行解压。解压后请删除压缩包。
将上一步解压后的压缩包中解压出来的 Chevereto-Free-1.1.4
文件夹下的所有文件移动到你的网站根目录里。
如图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ekOFeUpg-1619248669643)(https://maofun.com/wp-content/uploads/2020/02/a57d5-231554741.jpg)]
删除服务器内的 index.html
和 404.html
文件,并替换掉 .htaccess
文件
在宝塔面板中点击 网站
– 你的网站域名
– 配置文件
即可打开 Nginx 配置。
在 SERVER
字段加入以下代码:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0C3MwotJ-1619248669644)(https://maofun.com/wp-content/uploads/2020/02/6f8ff-2405062304.jpg)]
保存 Nginx 文件后即可访问自己的站点进行配置。
首页默认是英文的,可以在注册登陆后点击右上角头像进入 Dashboard
– Settings
– Languages
改成中文。
其它就可以自己摸索了。
图床默认设置是任何人都可以上传图片,我们可以通过 用户
— 仪表盘
— 设置
,在最下面将网站运营模式设置为 个人
,即只有自己可以上传图片。
一共有三种模式可以选择:任何人可以上传、注册上传和仅自己上传。既然是自己用的图床,那就可以设置为仅自己上传了。
截至上一步,图床已经搭建完毕,可以上传和管理图片了。不过有个问题就是现在直接上传图片,图片只能以 http 链接显示,因此我们需配置 SSL 证书来实现 HTTPS 访问,我们可以直接使用宝塔面板申请 Let’s Encrypt 免费证书,而且到期后自动续签,并开启强制 HTTPS 。
使用宝塔面板自动申请的话,根据宝塔的提示来走即可。如图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J5Db35a1-1619248669650)(https://maofun.com/wp-content/uploads/2020/02/c2b3e-4207194041.jpg)]
不过使用宝塔面板自动申请也有一个问题:如果你的站点使用了CDN或301重定向,会导致续签失败,比较麻烦。
所以我选择自己上传 SSL 证书。点击 其他证书
,粘贴证书和密钥后保存即可。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rAYK6SGl-1619248669651)(https://maofun.com/wp-content/uploads/2020/02/3e3ae-153090551.jpg)]
我使用的是 Trust Asia 颁发的免费证书,有效期一年,比较方便。
其官网有帮助文件,所以申请过程不再赘述。
详细教程查看:基于宝塔面板成功配置网站SSL安全证书(支持https访问)
上传照片后,可以点击右上角头像 → “我的照片”,然后点击图片后双击,查看嵌入代码。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I4XoZFNX-1619248669652)(https://maofun.com/wp-content/uploads/2020/02/1f316-373330599.jpg)]
如果还有不了解宝塔面板怎么使用的小伙伴,可以看下我总结的系列教程,保证从新手变老鸟:
【宝塔面板精选教程汇总】
【宝塔面板常见问题汇总】
原文地址:Chevereto图床搭建教程 | 利用云服务器免费搭建私人图床