在私有服务器上搭建与使用 Ghost 博客全指南

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 - ghostuser

2. 安装基础环境 (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 (定时发布)。