Ghost 是一个基于 Node.js 开发的现代开源博客平台,以其极致的速度、简洁的写作体验和强大的 SEO 优化著称。本文将指导你如何在私有服务器(VPS)上搭建 Ghost,并解决数据库连接、主题配置及内容发布等核心问题。
第一部分:服务器环境搭建(基于 Ubuntu)
准备工作:
- 一台 VPS(推荐 Ubuntu 20.04/22.04,内存建议 1GB 以上)。
- 一个已解析到服务器 IP 的域名。
1. 系统初始化与安全配置
Ghost 严禁使用 root 用户运行。首先需要创建专用用户。
codeBash
# 1. 更新系统
sudo apt update && sudo apt upgrade -y
# 2. 创建新用户 (例如 ghostuser) 并赋予 sudo 权限
adduser ghostuser
usermod -aG sudo ghostuser
# 3. 切换到新用户 (接下来的操作均在此用户下进行)
su - ghostuser2. 安装基础环境 (Nginx & MySQL)
Ghost 需要 Nginx 做反向代理,MySQL 做数据库。
codeBash
# 安装 Nginx
sudo apt install nginx -y
# 安装 MySQL
sudo apt install mysql-server -y配置 MySQL 数据库:
进入 MySQL (sudo mysql) 并执行:
codeSQL
-- 创建数据库
CREATE DATABASE ghost_prod;
-- 创建用户 (密码请设置复杂一点)
CREATE USER 'ghost'@'localhost' IDENTIFIED BY '你的强密码';
-- 授权
GRANT ALL PRIVILEGES ON ghost_prod.* TO 'ghost'@'localhost';
FLUSH PRIVILEGES;
EXIT;3. 安装 Node.js
Ghost v5+ 推荐使用 Node.js 18 或 20 (LTS)。
codeBash
curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs第二部分:安装 Ghost (两种方式)
你可以选择 官方 CLI 安装(推荐生产环境)或 Docker 安装(适合容器化管理)。
方式一:使用 Ghost-CLI (官方推荐)
codeBash
# 1. 安装命令行工具
sudo npm install ghost-cli@latest -g
# 2. 创建目录并授权
sudo mkdir -p /var/www/ghost
sudo chown ghostuser:ghostuser /var/www/ghost
sudo chmod 775 /var/www/ghost
cd /var/www/ghost
# 3. 开始安装
ghost install安装过程交互问答:
- Blog URL: 输入带 https 的域名。
- MySQL info: 输入第一部分创建的数据库用户 ghost 和密码。
- Nginx / SSL / Systemd: 全部选 Yes,它会自动帮你配置 HTTPS 和守护进程。
方式二:使用 Docker Compose (连接外部/独立数据库)
如果你希望使用 Docker,且数据库不在容器内(而是连接宿主机或云数据库 RDS),请使用此配置。
前置要求: 外部 MySQL 需修改配置文件 bind-address = 0.0.0.0 并创建允许远程连接的用户(如 'ghost_user'@'%')。
docker-compose.yml 配置:
codeYaml
version: '3.1'
services:
ghost:
image: ghost:5-alpine
restart: always
ports:
- 8080:2368
volumes:
- ./content:/var/lib/ghost/content
environment:
url: https://你的域名.com
# 数据库配置
database__client: mysql
database__connection__host: 192.168.1.x # 填写外部数据库的真实IP (勿填 localhost)
database__connection__port: 3306
database__connection__user: ghost_user
database__connection__password: 你的数据库密码
database__connection__database: ghost_prod运行 docker-compose up -d 启动。
第三部分:后台管理与设置
1. 登录后台
- 登录地址:https://你的域名.com/ghost
- 首次访问:会跳转到 Setup 页面,创建管理员账号。
- 忘记密码:如果没有配置邮件服务,需在服务器目录下运行 ghost user reset 你的邮箱 --password "新密码"。
2. 安装主题 (以 Journal 为例)
Journal 是 Ghost 官方的一款杂志风主题。
- 方法 A (推荐):后台 -> Settings -> Design & branding -> Change theme -> 选择 Journal -> Install -> Activate。
- 方法 B (手动):从 GitHub 下载 journal.zip -> 后台 Design 页面 -> 点击右上角 Upload theme 上传。
第四部分:如何发布文章
Ghost 的编辑器(Koenig Editor)非常现代化,类似于 Notion。
1. 撰写界面
点击后台左侧 Posts -> + (New post)。
- 插入模块:在空行输入 / (斜杠),可快速唤出菜单,插入图片、HTML 代码、分割线、书签卡片等。
- Markdown:支持标准 Markdown 语法(如 ## 标题,> 引用)。
2. 文章属性设置 (Sidebar)
发布前务必点击右上角的 小黑框图标 进行设置:
- Post URL: 将自动生成的拼音/乱码链接改为简短的英文(如 my-first-blog),利于 SEO。
- Feature image: 必须上传封面图,支持直接搜索 Unsplash 免费图库。
- Excerpt: 手动填写摘要,否则会直接抓取正文前段。
- Tags: 添加标签以便分类。
3. 发布
点击右上角 Publish -> 选择 Right now (立即发布) 或 Schedule (定时发布)。