1.背景概述
在使用Markdown写文章插入图片后,由于使用的是本地电脑的图片,此时文档一旦发送到其他人或者其他电脑,那么图片的链接就失效了,导致Markdown文章中的图片无法显示。为了解决这个问题,图片的地址就要是网络上的链接地址,而不能是本地电脑的链接地址。如果我们将图片存储到图床服务器中,那么我们既能在Markdown中使用图片的网络链接地址,又能在管理图片,后面写其他文章时还可以复用图片的链接。
本文就来介绍一下,在腾讯云轻量应用服务器上使用chevereto搭建个人图床,同时利用PicGo和Typora自动在Markdown中将本地图片上传到图床中,以此来并解决Markdown文章在更换电脑后,图片地址失效的问题。最终我们打造一个沉浸式Markdown写作环境,专注于写作。
2.环境准备
为了打造沉浸式的Markdown写作环境,我们需要准备如下环境和软件。
腾讯云轻量应用服务器:使用Docker应用镜像并安装docker-compose
Chevereto:自建图床程序,使用docker-compose来安装。
PicGo:图床管理工具,安装chevereto插件。
Typora:Markdown编辑器
3.准备轻量应用服务器
3.1.购买轻量应用服务器
首先在腾讯云Lighthouse轻量应用服务器购买页面,购买一台服务器,选择Docker镜像,这样我们只需安装docker-compose。
3.2.安装docker-compose
1.下载最新版Docker Compose
代码语言:javascript复制sudo curl -L "https://github.com/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2.为docker-compose文件添加可执行属性,并增加软连接
代码语言:javascript复制sudo chmod x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
3.查看docker-compose版本
代码语言:javascript复制docker-compose -v
4.搭建chevereto图床
接下来我们在轻量应用服务器上搭建chevereto图床。
4.1.安装启动chevereto图床
1.创建chevereto相关目录
代码语言:javascript复制mkdir -p /data/chevereto
mkdir -p /data/chevereto/database
mkdir -p /data/chevereto/chevereto_images
mkdir -p /data/chevereto/conf
# 修改相关目录属性,防止chevereto启动时无法写入
chmod 777 /data/chevereto/database
chmod 777 /data/chevereto/chevereto_images
chmod 777 /data/chevereto/conf
cd /data/chevereto
2.创建docker-compose.yaml文件
在/data/chevereto目录中创建docker-compose.yaml文件,内容如下:
代码语言:javascript复制version: '3'
services:
db:
image: mariadb
volumes:
- ./database:/var/lib/mysql:rw
restart: always
networks:
- private
environment:
MYSQL_ROOT_PASSWORD: chevereto_root
MYSQL_DATABASE: chevereto
MYSQL_USER: chevereto
MYSQL_PASSWORD: chevereto
chevereto:
depends_on:
- db
image: nmtan/chevereto
restart: always
networks:
- private
environment:
CHEVERETO_DB_HOST: db
CHEVERETO_DB_USERNAME: chevereto
CHEVERETO_DB_PASSWORD: chevereto
CHEVERETO_DB_NAME: chevereto
CHEVERETO_DB_PREFIX: chv_
volumes:
- ./chevereto_images:/var/www/html/images:rw
- ./conf/php.ini:/usr/local/etc/php/conf.d/php.ini
ports:
- 80:80
networks:
private:
3.创建php配置文件
在/data/chevereto/conf目录中创建php.ini配置文件, 配置最大使用内存和最大上传的图片大小等属性。内容如下:
代码语言:javascript复制max_execution_time = 60;
memory_limit = 1024M;
upload_max_filesize = 256M;
post_max_size = 256M;
4.启动chevereto
代码语言:javascript复制docker-compose up -d
4.2.配置chevereto
在浏览器里访问轻量应用服务器的IP,会打开chevereto首次安装后的配置页面,输入相关信息后,点击”Install Chevereto”按钮。
出现下图就表示已经安装成功了,然后点击“admin dashboard”进入管理页面。
登录以后我们要获取chevereto的API key
在Dashboard->Settings->Website->API
这里我们要获取API v1 key,用来在PicGo中配置chevereto插件,使得PicGo能够直接将图片上传到chevereto中。下文在PicGo的配置过程中会详细介绍。
5.安装配置PicGo
5.1.安装PicGo
PicGo是一款将图片上传到图床的图床管理工具。我们根据操作系统下载稳定版即可,这里下载的是v2.2.2 Windows版本的二进制文件。下载地址,下载完毕后双击PicGo-Setup-2.2.2.exe文件安装即可。
5.2.安装chevereto插件
打开PicGo后,在插件设置中搜索chevereto,安装即可。
5.3.配置chevereto uploader设置
这里我们要配置chevereto上传的Url(url为http://ip/api/1/upload)和之前在chevereto Dashboard中获取到的API v1 key。这样PicGo就可以自动将图片上传到chevereto了。
5.4.配置PicGo开启时间戳重命名
在PicGo设置中开启时间戳重命名,防止多次上传相同文件报错。同时我们取消其它不使用的图床,只显示Chevereto Uploader。
5.5.配置PicGo-Server监听端口
这里我们将监听端口设置为36677,防止Typora上传图片时失败。因为Typora中使用了此端口号。
5.6.上传文件
配置好之后,我们直接将图片拖入到PicGo的上传区。
接下来我们到chevereto的页面上可以查看刚才上传的图片。如下图所示,表明PicGo已经将图片上传成功了。
6.安装配置Typora
6.1.安装Typora
根据操作系统从Typora官网下载相应的安装包,这里我们下载windows的安装包。文件下载完成后,双击安装即可。
6.2.配置图像上传
在Typora文件->偏好设置->图像中,我们进行配置。
插入图片时,选择 “上传图片”
上传服务设定,选择“PicGo(app)”
PicGo路径,设为PicGo软件的安装路径
7.开始沉浸式写作吧!
经过前面的配置,我们已经搭建好这一整套Markdown环境,那我们马上来体验一下吧!
打开Typora,我们写一篇文章,向其中插入图片,我们会发现图片地址已经自动被替换为chevereto图床上的网络地址了。这样当我们将Markdown文档发送给其他人或者在其他电脑中打开时,我们的图片就再也不会显示失败了。
8.参考资料
1.腾讯云轻量应用服务器:https://cloud.tencent.com/product/lighthouse
2.docker compose 安装:https://docs.docker.com/compose/install/
3.chevereto官网:https://chevereto.com/
4.chevereto dockerhub:https://hub.docker.com/r/nmtan/chevereto/
5.PicGo官网:https://molunerfinn.com/PicGo/
6.Typora官网:https://typora.io/