本文最后更新于 <span id="expire-date"></span> 天前,文中部分描述可能已经过时。

博客体积越来越大了,备份的体积已经逼近3G了,大部分都是图片(还有根据每张图片生成的各种分辨率图片)

博客体积大的直接后果就是恢复/迁移成本很高,而且每次备份等于是把相同的图片又备份了一遍,浪费存储空间。

思考再三,我决定搭建个图床,将图片转移至图床,减小博客体积。而且图片也只需要备份一份,减少空间占用。

经过一番查询我决定使用 Chevereto 图床,足够成熟,免费版足够使用。

安装

LEMP 环境安装官方有一篇详细的指导文章,所以我这里就讲 LAMP 的安装方法

Apache2

apt-get install apache2 -y

MySql

官网获取最新的deb包,然后安装

wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.15-1_all.deb
apt-get update
sudo apt-get install mysql-server

配置

mysql -u root -p
#创建数据库
CREATE DATABASE chevereto;
\q #退出数据库

sudo mysql_secure_installation
按照下面选择
Set root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

修改验证方式(很重要,不做这一步初始化图床会出错)

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';

PHP

sudo apt install php-fpm php-zip php-curl php-mbstring php-gd php-mysql libapache2-mod-php

修改上传限制

nano /etc/php/7.3/apache2/php.ini

修改这两项
upload_max_filesize = 1024M
post_max_size = 1024M
memory_limit = 512M

修改完后重启 apache
service apache2 restart

Apache 配置

mkdir /var/www/chevereto/
sudo chown www-data:www-data /var/www/chevereto/

nano /etc/apache2/apache2.conf

添加
<Directory /var/www/chevereto/>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
Order allow,deny
allow from all
</Directory>

nano /etc/apache2/sites-available/chevereto.conf

加入如下内容
<VirtualHost *:80>
ServerName xxx.com #域名

ServerAdmin webmaster@localhost
DocumentRoot /var/www/chevereto


ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

cd /etc/apache2/sites-enabled
sudo ln -s ../sites-available/chevereto.conf
sudo service apache2 restart

申请证书

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
sudo ./certbot-auto --apache

安装 chevereto

sudo -u www-data wget -O /var/www/chevereto/installer.php https://chevereto.com/download/file/installer

此时打开https://域名/installer.php即可开始初始化,按照你之前的设置填写信息即可

配合 picgo 上传

每次用网页上传图片然后手动复制粘贴图片还是太过麻烦且不够优雅,picgo 就可以将这个过程自动化。

在 releasse 中下载软件,记得先安装好nodejs环境。

打开软件后,在插件设置中搜索安装如图插件

具体插件设置如下:

url : https://网址/api/1/upload
paramName: source
jsonPath: image.url
customBody: {"key":"api"}

api 在这个位置

在 picgo 设置里面还能自定义上传完之后剪贴板的格式

演示


接下来就是慢慢把博客图片移到图床去了(巨大工程)

评论