背景
这段时间开始分享一些技术文档以及个人的一些观点,主要是在自己搭建的个人博客,公众号,掘金,知乎等平台上,发布文章必不可少的就是需要一个写作排版工具。Github上搜了搜,找到一个开源的项目"Markdown2Html",有开源的当然得自己部署一套咯,然后就有了自己的文章排版工具站:md.luckday.cn,简单来说就是用Markdown格式写文章然后转换成有漂亮主题样式的排版页面,然后一键发布到各个平台。
文章排版工具
写文章得传图片吧,要是在每个平台上都上传一次图片,那真是太麻烦了,所以就有了第三方图床!就是图片上传到第三方,只用上传一次,文章发布到任何平台,不需要在重复上传图片了,都能查看!
为什么要自己搭建
当前的这个 文章排版工具站自带的有一部分 图床配置,有果壳(之前免费,现在收费),GitHub(国外,访问慢,简直没法用),阿里云OSS(要花钱开通OSS存储,虽然年费不是很高,经常用的还是有点费钱),Gitee(开源中国的代码托管平台,访问速度OK,即免费也快)。
看起来Gitee很合适嘛,为啥要自己搭建?
- 有限制(单张图片不超过1M)
- 不稳定(Gitee是代码托管平台,毕竟是企业要赚钱的,白薅资源,会封禁,加个防盗链就傻眼了)
- 自己家里有服务器(内网穿透,公网可访问,闲着也是闲着,如何搭建内网穿透?我之前一篇文章有讲我如何搭建一台永久运行的个人服务器
- 简单(自己程序猿,搭建一个图床,小意思,简单)
MinIO 安装
MinIO是一款高性能高可用的文件系统服务,首先是开源的,其次在公司经常用这玩意。
服务器系统:CentOS7.9
一、进入/home目录,创建minio文件夹
cd /home
mkdir minio
创建minio文件夹
二、wget下载二进制安装包
wget https://dl.minio.io/server/minio/release/linux-amd64/minio
下载Minio安装包
三、在minio目录下创建 minio.log文件
我已经创建完了,就不执行了
touch minio.log
创建minio.log
四、给minio 二进制文件添加执行权限
命令执行完后,minio文件变成可执行状态
chmod 777 minio
无执行权限二进制文件
可执行状态
五、把minio的界面账户密码添加到全局环境变量中
vim /etc/profile
# set minio environment
export MINIO_ROOT_USER=fileadmin
export MINIO_ROOT_PASSWORD=fileadmin
环境变量添加
保存操作,按esc 后,按'shift+:',然后输入'wq!',最后按回车。
# 加载配置,使配置生效
source /etc/profile
六、添加启动文件
vim start.sh
nohup /home/minio/minio server /home/minio/data --console-address ":35555" > /home/minio/minio.log 2>&1 &
#保存退出,添加执行权限
chome 777 start.sh
# 执行启动脚本文件
sh start.sh
解释一下上面命令:
- ‘nohup’和末尾’&'组合使用表示脱离终端后继续执行,也就是后台执行
- '2>&1’表示现在标准输出直接输入到/home/minio/minio.log 中,就是上面第一步建的日志文件中
- 二进制启动文件:/home/minio/minio
数据存储目录:/home/minio/data
指定后台管理界面端口:--console-address ":35555"
日志:/home/minio/minio.log
启动日志
上面有两个ip端口,一个是Minio 的后台管理界面(端口35555),一个是 API接口调用的(端口9000),
浏览器打开这个:127.0.0.1:35555,没有意外的话,打开登录管理界面
登录的账户密码就是在 第五步设置的环境变量。用户名:fileadmin 密码:fileadmin
这个搞定了后,就可以内网穿透映射到公网访问使用了!
如何在Markdown2Html中使用MinIO
Markdown2Html 不支持Minio 存储,那怎么办呢? 这能难倒一个程序员么,源码拉下来,自己动手加
源码
按照原项目格式,添加一个MinioOSS.js文件,然后一通调整修改,咔咔咔。。。搞定!
源码修改后
Minio 后台上传的图片
现在就可以愉快的写文章了!!! 最后附上 我魔改的排版工具站md.luckday.cn