网络知识 娱乐 玩转服务器-博客两件套之绝佳的Markdown写作平台CodiMD

玩转服务器-博客两件套之绝佳的Markdown写作平台CodiMD

前言

大家都很羡慕博主的高产,纷纷问我有什么技巧。我的回复是手熟,多写,那么多写就需要一个比较好的工具,所以我这里给大家介绍一个在线markdown文档平台,让大家可以随时书写文档和博客。这里我选择的是codimd,我把它部署到了自己在我的腾讯云轻量应用服务器上以便提高访问速度,写下这篇记录自己部署和使用的心得,供大家参考。

什么是CodiMD

CodiMD 是一个开源项目,可实现 MarkDown 文档的协同编辑,功能与 HackMD 一致(这好像是废话),项目地址在 GitHub的hackmdio下,部署极为简单。适合无法正常使用 HackMD 的用户将其部署到自己的国内服务器,安全稳定。

开源地址

CodiMD

程序的安装

安装的准备

首先准备腾讯云的轻量应用服务器,系统为centos,不同系统间方式大同小异。

安装的步骤

  1. 在MySQL建立codimd使用的数据库
  2. 安装git
  3. 安装docker
  4. 安装docker-compose
  5. 安装codimd

创建数据库

这里博主用的轻量数据库(相关测评),如果没有也可以自建数据库。

这里以宝塔为例直接添加一个数据库。

请注意允许所有ip访问该数据库,因为docker容器访问不属于本地ip访问。

安装git

yum install git

安装docker

yum install docker

安装docker compose

yum install docker-compose

安装codimd

在root文件夹下创建一个目录(如md),目录内创建docker-compose.yml

填入以下内容:

version: "3"
services:
  database:
    image: postgres:11.6-alpine
    environment:
      - POSTGRES_USER=codimd
      - POSTGRES_PASSWORD=change_password
      - POSTGRES_DB=codimd
    volumes:
      - "database-data:/var/lib/postgresql/data"
    restart: always
  codimd:
    image: hackmdio/hackmd:2.4.1
    environment:
      - CMD_DB_URL=postgres://codimd:change_password@database/codimd
        # CMD_DB_URL 格式为 
        # 数据库连接协议://用户名:密码@数据库主机:数据库端口/数据库名
        #这里我的MySQL是在docker的宿主机本地安装的,但是主机ip没有写localhost,因为localhost在docker容器里面会解释成容器本身的ip,这样就连不上安装在宿主机的MySQL,所以我使用:ip addr show docker0,查看了宿主机的ip为172.17.0.1,然后使用宿主机ip代替localhost,就达到容器内部访问外部的MySQL数据库的目的
        #例:CMD_DB_URL=mysql://codimd:change_password@172.17.0.1:3306/codimd
      - CMD_USECDN=false
    depends_on:
      - database
    ports:
      - "3000:3000"
    volumes:
      - upload-data:/home/hackmd/app/public/uploads
    restart: always
volumes:
  database-data: {}
  upload-data: {}

保存退出。

命令行里cd进docker-compose.yml所在的文件夹,执行命令

cd md

docker-compose up -d

检查安装

安装完成后可以使用docker ps命令查看codimd是否已经运行

查看运行日志:执行以下命令

docker logs -f -t --tail 行数 容器名

通过上面的docker ps命令中看到容器名为codimd_codimd_1

所以我执行

docker logs -f -t --tail 10  codimd_codimd_1

提示

HTTP Server listening at 0.0.0.0:3000

#这样表示安装成功了

放行端口

codimd默认是运行在3000端口的,因此需要防火墙放行

  • 防火墙放行3000端口
  • 腾讯云轻量服务器管理面板防火墙规则放行3000端口

CodiMD 使用

基本使用

完成以上步骤,即可访问服务器的 3000 端口来到 CodiMD 主页(如下图)。注册登录后即可进行文档档创建与协同编辑。其他协作者可以放心大胆地使用,后台密码均进行了严格加密,密码防泄漏做得很好的

反向代理

反向代理设置,新建一个网站,配置如图

配置反向代理步骤如下:(代理名称随意写一个自己认识的就行)

至此本次教程到此结束,使用腾讯云轻量服务器搭建CodiMD有其他不明白的地方,朋友可以到我博客和我交流

博主站点

博主的个人博客地址是:https://www.hipyt.cn/

期待下一次给大家带来更好的教程,我们下次再见。