目前图床可以分为两种,一种是公共图床,一种是自建图床。公共图床也就是利用公共服务的图片上传接口,来提供图片外链的服务,比如新浪微博。自建图床,也就是利用各大云服务商提供的存储空间或者自己在 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/
系统环境要求
PHP 7 (PHP 5.6 min)
MySQL 8 / MariaDB 10 (ALL PRIVILEGES)
Apache / NGiNX web server
正式开搞
首先按照要求部署系统环境。由于是零基础,所以我采用宝塔面板来搭建环境。
宝塔面板是提升运维效率的服务器管理软件,用处就是可视化管理,并且有很多一键操作,比较适合萌新用户。宝塔的官网上有部署命令和相关教程,这里不再赘述。
1. 创建网站和数据库
LNMP环境部署之后,首先需要创建一个网站。请创建数据库,选择 MySQL 。程序类型选择 PHP 。请保管好相关密码。
可以选择同时创建FTP
来进行文件传输或者直接使用宝塔面板的文件
功能将Chevereto
文件上传到 VPS 。
后边会用到。
2. 下载最新的 Chevereto 程序
请到 Github 下载最新的程序源码:https://github.com/Chevereto/Chevereto-Free/releases
保存到本地备用。
3. 上传源码
不建议将本地的源码解压后再通过 FTP 上传,因为速度会很慢。
推荐将压缩包直接通过宝塔面板的文件
功能上传到服务器,然后再执行解压。解压后请删除压缩包。
4. 替换文件
将上一步解压后的压缩包中解压出来的 Chevereto-Free-1.1.4 文件夹下的所有文件移动到你的网站根目录里。
如图:删除
服务器内的index.html
和404.html
文件,并替换掉.htaccess
文件
5. 修改 Nginx 配置
在宝塔面板中点击 网站 - 你的网站域名 - 配置文件 即可打开 Nginx 配置。
在 SERVER 字段加入以下代码:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
6. 进行基础配置保存
Nginx文件后即可访问自己的站点进行配置。
首页默认是英文的,可以在注册登陆后点击右上角头像进入Dashboard
-Settings
-Languages
改成中文。
其它就可以自己摸索了。
图床默认设置是任何人都可以上传图片,我们可以通过用户
—仪表盘
—设置
,在最下面将网站运营模式设置为个人
,即只有自己可以上传图片。
一共有三种模式可以选择:任何人可以上传、注册上传和仅自己上传。既然是自己用的图床,那就可以设置为仅自己上传了。
7. 配置 SSL 证书
截至上一步,图床已经搭建完毕,可以上传和管理图片了。不过有个问题就是现在直接上传图片,图片只能以 http 链接显示,因此我们需配置SSL
证书来实现 HTTPS
访问,我们可以直接使用宝塔面板申请Let’s Encrypt
免费证书,而且到期后自动续签,并开启强制HTTPS
。
使用宝塔面板自动申请的话,根据宝塔的提示来走即可。如图:
不过使用宝塔面板自动申请也有一个问题:如果你的站点使用了CDN或301重定向,会导致续签失败,比较麻烦。
所以我选择自己上传 SSL 证书。点击 其他证书 ,粘贴证书和密钥后保存即可。
我使用的是[Trust Asia][10]
颁发的免费证书,有效期一年,比较方便。
其官网有帮助文件,所以申请过程不再赘述。
8. 正式使用
上传照片后,可以点击右上角头像 → “我的照片”,然后点击图片后双击,查看嵌入代码。