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

2023-05-16

前言

大家都很羡慕博主的高产,纷纷问我有什么技巧。我的回复是手熟,多写,那么多写就需要一个比较好的工具,所以我这里给大家介绍一个在线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 主页(如下图)。注册登录后即可进行文档档创建与协同编辑。其他协作者可以放心大胆地使用,后台密码均进行了严格加密,密码防泄漏做得很好的

反向代理

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

配置反向代理步骤如下:(代理名称随意写一个自己认识的就行)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kKQJOkCd-1630588506797)(https://pic.hipyt.cn/pic/2021/09/02/3b166a6116a66.png)]

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

博主站点

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

最后

安利一下,腾讯云限时秒的活动,优惠力度非常大,当前买到就是赚到了,1核2G的配置最低60元一年。

为了保证博主的写作兴趣,请大家有需要的一定要多多支持。以下连接内含(AFF)

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年60元
腾讯云限时秒杀

【腾讯云】轻量应用服务器Lighthouse,上云「轻」而易举,1核1G3M低至128元/年,高带宽首选

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • C++中的头文件(.h)和源文件(.cpp)都应该写什么?

    头文件 h xff1a 写定义和声明 写类的声明 xff08 包括类里面的成员和方法的声明 xff09 函数原型 define常数等 xff0c 但是一般来说不写具体的实现 注意 xff1a 1 在写头文件的时候需要注意 xff0c 在开头
  • heroku命令整理

    access 管理用户对应用的访问 addons 用于开发 xff0c 扩展和操作您的应用程序的工具和服务 apps 管理应用 auth heroku 认证 authorizations OAuth 认证 buildpacks 管理应用程序
  • 解决com.google.code.kaptcha 从maven中央仓库无法下载的解决方案

    1 首先下载源码包 xff1a http code google com p kaptcha downloads list 2 将解压后的文件中kaptcha version jar kaptcha 3 2 2 jar copy出来放到其他
  • ubuntu16.04创建普通用户、ssh连接

    0 环境 ubuntu16 04 mobaXterm 1 创建用户 创建用户 xff0c 只需要一个命令就可以了 xff1a adduser your username 例子 xff1a adduser yumo passwd your u
  • 【数据清洗】图像数据清洗之---去除相似度高的图像

    目的 xff1a 人工做数据清洗较为麻烦 xff0c 而且费事费力没成绩 xff0c 还拉拽整个项目的后腿 所以这里根据调研情况 xff0c 分析尝试一下 1 调研分析 1 百度EasyData 参考 xff1a 百度大脑自己的csdn说明
  • pip 命令,向指定的python环境中安装包

    在linux中 xff0c 进入anaconda的虚拟环境之后 xff0c 使用pip并不一定会安装在当前环境下 xff08 和windows不太一样 xff09 xff0c 而是安装在该pip对应的python版本里 xff0c pip对
  • 快速区分主键与外键

    主键与外键的区分 主键用来唯一标识一条记录 xff0c 不允许有重复 xff0c 不允许为空 作用 xff1a 用来保证数据的完整性 个数 xff1a only one 外键 xff0c 表的外键是另一个表的主键 xff0c 外键可以有重复
  • module.exports和exports、export和export default、require和import的详解

    一 分类 commonJS xff1a 导出 xff08 module exports和exports xff09 导入 xff08 require xff09 ES6 xff1a 导出 xff08 export和export defaul
  • 如何查看静态编译的依赖(所链接的库)

    如何查看静态编译的依赖 实际上 静态库不存在依赖 依赖是动态编译下被动态链接的库 可以使用ldd查看 静态链接的话 所有需要的静态库会被添加到文件中 库名在连接的过程中会被剥除 如果文件包含debug 信息 可以通过查看符号的方式 对比静态
  • Hadoop URL读取数据

    URL setURLStreamHandlerFactory 每个虚拟机只能调用一次这个方法 xff0c 因此通常在静态中调用这个方法 xff01 这个限制以为着如果程序其他的组件已经声明一个实例 xff0c 则将无法使用这个方法读取 1
  • 【随记】Mac 取消系统更新的红点

    1 打开 系统偏好设置 点击 软件更新 2 取消选择 自动保持我的Mac最新 3 然后点击 高级 按钮 xff0c 取消所有的勾选 4 通过上面步骤设置后 xff0c 发现底部的小红点还在 xff0c 则需打开终端 xff0c 执行如下2段
  • Android InputChannel事件发送接收系统分析

    本文基于Android12 InputChannel表示其他进程通过文件描述符传递输入事件到View的通道 xff0c 因为需要跨进程传输 xff0c 实现了Parcelable序列化接口 xff0c 所以也能够理解Java层的InputC
  • Homestead for Windows

    Homestead Windows Laravel 致力于让整个 PHP 开发体验变得愉快 xff0c 包括你的本地开发环境 Vagrant 提供了一种简单 xff0c 优雅的方式来管理和配置虚拟机 Laravel Homestead 是一
  • 因为你,我愿意

    偶然成就必然 xff0c 纵一现昙花 xff0c 亦可夺人眼眸 顺水推舟好过机缘巧合 xff0c 谨以此献给程序员未来展望 者 题记 每逢六月初 xff0c 总有人会这般调侃自己 就要高考了 xff0c 还没准备好 xff0c 好紧张 xf
  • 论文阅读笔记《Joint Graph Learning and Matching for Semantic Feature Correspondence》

    核心思想 本文提出一种联合图学习和图匹配的算法 xff08 GLAM xff09 xff0c 将图的构建和匹配过程整合到一个端到端的注意力网络中 相比于其他启发式的建图方法 xff0c 如Delaunay三角法 KNN方法或完全图 xff0
  • 为了安装caffe 安装opencv

    cmake D CMAKE BUILD TYPE 61 RELEASE D CMAKE INSTALL PREFIX 61 home lab248 anaconda2 D INSTALL PYTHON EXAMPLES 61 ON D IN
  • 腾讯轻量云服务器控制台详细介绍及建站操作图文教程

    腾讯轻量应用服务器控制台与腾讯云服务器不同 xff0c 轻量应用服务器主要是在控制台上集成了大部分建站功能 xff0c 通过简单点击几次鼠标就可以轻松建站 xff0c 易学易用 不过对于没接触过的新手来说 xff0c 还是有点陌生的 xff
  • 腾讯云轻量应用服务器快速搭建一个专属网盘

    一 前言 xff1a 云盘我想大家接触的一定不会少 云盘很好地解决了文件存储和共享的问题 xff0c 但随着大量云盘厂商的退出 xff0c 剩余的云盘服务也越来越少 有些云盘虽然上传速度快 xff0c 但是下载速度较慢 xff0c 不开通会
  • 使用腾讯云轻量应用服务器搭建一个简洁漂亮的目录

    前言 作为一个摄影爱好者 xff0c 会经常做一些图片的分享 xff0c 前端时间在网上看到了一个非常好看的目录 xff0c 这里给大家分享一下怎么样通过腾讯轻量应用服务器来搭建 官方介绍 files photo gallery是一款简洁漂
  • 玩转服务器-博客两件套之绝佳的Markdown写作平台CodiMD

    前言 大家都很羡慕博主的高产 xff0c 纷纷问我有什么技巧 我的回复是手熟 xff0c 多写 xff0c 那么多写就需要一个比较好的工具 xff0c 所以我这里给大家介绍一个在线markdown文档平台 xff0c 让大家可以随时书写文档