1. 首页
  2. 博客
  3. 自行部署

如何在虚拟主机、Docker 或 nginx 上自行部署 Markdown 编辑器

几分钟内部署一款属于自己的 Markdown 实时预览编辑器。分步讲解如何在虚拟主机(cPanel)、Docker、nginx 和 Caddy 上完成部署——无需数据库,也无需后端,免费开源。

自行部署的 Markdown 编辑器能让您的团队在自己的域名上使用统一、熟悉的工具——无需账号、无需订阅,也不必依赖别人的服务是否在线。如果编辑器是一个静态 Web 应用,部署它就像托管几个 HTML 文件一样简单:没有需要维护的数据库,没有需要更新的服务器端代码,服务器负载也几乎为零。

本指南以 Markdown Preview Editor 为例。它免费开源(MIT),同样的步骤也适用于任何静态 Web 应用。

为什么要自行部署 Markdown 编辑器?

  • 您的域名,您做主。 编辑器运行在您掌控的地址上,例如 markdown.your-company.com,对每一位使用者都是一样的。
  • 无需维护。 静态网站没有后端,因此不需要为服务器代码打安全补丁,也不需要备份数据库。
  • 文档留在本地。 Markdown Preview Editor 在访问者的浏览器中完成所有渲染。服务器只负责提供应用的文件——永远不会接收到文档。
  • 运行零成本。 任何虚拟主机套餐、一台小型 VPS 或一个容器平台就足够了。

您需要准备什么

任何能通过 HTTPS 提供静态文件的 Web 服务器都可以:

  • 带有 cPanel、Plesk 或 DirectAdmin 的虚拟主机(Apache 或 LiteSpeed),
  • 装有 Docker 的服务器,
  • VPS 上的 nginx 或 Caddy,
  • 甚至是您自己的电脑,供本地使用。

服务器上不需要 PHP、Node.js 或数据库。

方式 1:虚拟主机(cPanel 等)

这是最快捷的方式,而且无需使用命令行。

  1. 下载网站压缩包。 从最新版本中下载 markdown-preview-editor-site.zip。其中包含已构建好的网站。
  2. 选择地址。 使用您的主域名,或在主机控制面板中创建一个子域名,例如 markdown.example.com。记下该子域名的根目录(document root)文件夹。
  3. 启用 HTTPS。 大多数主机商会自动签发免费证书(AutoSSL 或 Let’s Encrypt)。请确保证书已对该域名或子域名生效。
  4. 上传并解压。 打开文件管理器,进入根目录,上传 zip 文件并选择解压。所有文件——包括隐藏的 .htaccess——都必须直接位于根目录中,而不是某个子文件夹里。
  5. 打开您的域名。 编辑器已经可以使用了。

附带的 .htaccess 会在 Apache 和 LiteSpeed 服务器上将 HTTP 重定向到 HTTPS、设置安全响应头并配置缓存。

提示

如果主机的上传扫描程序拒绝包含 JavaScript 文件的 zip 压缩包——这是某些杀毒规则已知的误报——请改用同一版本中的 .tar.gz 压缩包,或通过 FTP 上传文件。

方式 2:Docker

如果您使用容器,可以克隆仓库并启动附带的 Compose 文件:

bashgit clone https://github.com/ovasendin/markdown_preview_editor.git
cd markdown_preview_editor
PORT=8080 docker compose -f deploy/docker-compose.yml up -d --build

打开 http://localhost:8080——或您选择的其他端口。该镜像会构建网站,并通过 nginx 以相同的安全响应头提供服务。如果要用于公开域名,请把容器放在您常用的、支持 HTTPS 的反向代理之后。

方式 3:nginx

构建网站(或解压发布版压缩包),然后将文件复制到 Web 根目录:

bashnpm ci && npm run build
sudo cp -r dist/* /var/www/markdown/

仓库中的 deploy/nginx.conf 提供了一份现成的配置,包含安全响应头和缓存规则。静态网站配置的核心部分非常简短:

nginxserver {
    listen 443 ssl;
    server_name markdown.example.com;
    # 在这里填写 ssl_certificate 和 ssl_certificate_key 配置行

    root /var/www/markdown;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

用 sudo nginx -s reload 重新加载 nginx,然后打开域名即可。

方式 4:Caddy

Caddy 会自动获取 HTTPS 证书,因此是在 VPS 上部署最简单的选择:

bashSITE_ADDRESS=markdown.example.com caddy run --config deploy/Caddyfile

请先把构建好的文件复制到 /srv;附带的 Caddyfile 会以与其他方式相同的响应头提供这些文件。

方式 5:在本地运行

如果只是个人使用,根本不需要服务器:

bashnpm ci
npm run dev

在浏览器中打开终端输出的本地地址即可。

保持更新

更新静态网站就是替换它的文件。下载新版本的压缩包,解压并覆盖旧文件,然后刷新页面。由于应用的文件名中包含内容哈希,浏览器会直接获取新版本,不会受到旧缓存的影响。在 GitHub 上关注该仓库(Watch → Custom → Releases),即可在新版本发布时收到通知。

部署后检查清单

  • 网站可以通过 https:// 打开,并且 http:// 会重定向到 HTTPS。
  • 把一个 Markdown 文件拖到编辑器上——它会在新标签页中打开。
  • 在设置中切换主题和语言。
  • 将一份测试文档导出为 HTML,确认下载功能正常。

编辑器上线后,把 Markdown 语法速查表分享给您的团队,并收藏我们关于预览 Markdown 和导出为 HTML 与 PDF 的指南。

常见问题

可以在虚拟主机上部署 Markdown 编辑器吗?

可以。Markdown Preview Editor 这类静态 Markdown 编辑器只是一些 HTML、CSS 和 JavaScript 文件。把发布版压缩包上传并解压到域名或子域名的根目录中即可——不需要数据库,也不需要服务器端语言。

自行部署的编辑器会把文档发送到我的服务器吗?

不会。服务器只负责提供应用文件。文档在每位访问者的浏览器中打开和渲染,不会被上传。

可以部署在子目录而不是子域名下吗?

可以,应用在 example.com/markdown/ 这样的子目录中也能正常运行。不过仍然建议使用单独的子域名,因为这样可以将编辑器的浏览器存储与同一域名下的其他应用隔离开来。

需要多少服务器资源?

几乎不需要。服务器只需为每位访问者发送一次静态文件,之后这些文件就会被浏览器缓存。所有的工作都在访问者的设备上完成。