搭建Ghost博客
约 689 字大约 2 分钟
2026-08-29
Ghost 是基于 Node.js 的轻量博客平台,编辑器体验好、性能高。本文用官方 Ghost-CLI 完成生产环境部署(Node.js + MySQL + Nginx 一条龙)。
前置条件
- 已部署 Node.js 18 或 20 LTS,参见部署Node.js环境(用 nvm 管理版本最方便)。
- 已安装 MySQL,参见部署MySQL数据库。
- 想用 HTTPS 需准备一个已解析到服务器 IP 的域名。
安装 Ghost-CLI
sudo npm install -g ghost-cli@latest
ghost version # 验证安装用专用目录
Ghost 强制要求安装目录为空、且不属于 root(否则报 Working directory is not a suitable place)。本文用 /var/www/ghost。
sudo mkdir -p /var/www/ghost
sudo chown $(whoami):$(whoami) /var/www/ghost
cd /var/www/ghost生产环境安装
提前在 MySQL 里建好库与账号:
CREATE DATABASE ghost_db;
CREATE USER 'ghost_user'@'localhost' IDENTIFIED BY '强密码';
GRANT ALL PRIVILEGES ON ghost_db.* TO 'ghost_user'@'localhost';
FLUSH PRIVILEGES;然后一键安装(把域名换成你的,没有域名用 http://<服务器IP>):
ghost install --url https://blog.example.com安装过程会交互式询问:博客 URL、MySQL 主机/库名/账号密码,随后自动完成:
- 配置
config.production.json并跑数据库迁移; - 安装 Nginx 反代配置(有域名时自动申请 Let's Encrypt 证书,证书原理见Nginx部署SSL证书);
- 注册 systemd 服务
ghost_<目录名>,开机自启、崩溃自动拉起。
完成后访问 https://blog.example.com 看到默认博客,后台在 域名/ghost(首次访问创建站长账号)。
日常管理命令
ghost ls # 查看运行状态
ghost start / stop / restart
ghost log # 查看最新日志
ghost doctor # 体检:版本、权限、配置一站式检查
ghost update # 升级 Ghost(升级前自动备份)常见问题
ghost install 报 Node 版本不支持?
Ghost 对 Node 版本要求严格(当前主线要求 18 / 20 LTS)。nvm ls 查看当前版本,用 nvm 切到支持的版本后重试,参见部署Node.js环境。
只想本地试试,不装 MySQL?
ghost install locallocal 模式用 SQLite、跑在 2368 端口,仅用于体验;正式上线建议按生产流程重装。
网页打不开 / 后台 502?
依次检查:ghost ls 确认服务 running → ghost doctor 找配置问题 → Nginx 反代是否生效(nginx -t)→ 数据库账号密码是否正确(看 ghost log 中的连接报错)。
想多台博客共存?
一台服务器多个 Ghost:每个博客建一个空目录分别 ghost install,URL 用不同域名或路径,Nginx 反代配置参考Nginx服务配置多站点。
Ghost 还是 WordPress 怎么选?
看重写作体验、速度、现代主题选 Ghost;看重插件生态、商城、大量现成模板选 WordPress(搭建见使用WordPress搭建博客)。
