Ghost 新闻邮件平台搭建教程

Ghost 是一款现代化的开源内容发布平台,最初定位为专业的博客系统,现已发展为集博客发布、Newsletter 邮件订阅和会员管理于一体的综合内容平台。它的编辑器体验出色,内置 SEO 优化和社交媒体分享功能,是个人博客、独立媒体和付费 Newsletter 的理想选择。本文将介绍如何在搬瓦工 VPS 上部署 Ghost。

一、Ghost 功能特点

  • 现代编辑器:所见即所得的编辑体验,支持 Markdown、富媒体嵌入、代码块等。
  • Newsletter:内置邮件订阅和 Newsletter 功能,发布文章可同时发送邮件。
  • 会员系统:支持免费和付费会员,可以设置付费内容。
  • SEO 优化:自动生成结构化数据、站点地图,支持自定义 meta 标签。
  • 主题系统:丰富的主题市场,支持完全自定义前端。
  • 集成能力:内置 Zapier、Slack、AMP 等集成。
  • 多语言:支持多语言内容管理。
  • API 完善:提供 Content API 和 Admin API 用于二次开发。

二、环境准备

  • 搬瓦工 VPS 一台,建议 1GB 以上内存(使用优惠码 NODESEEK2026 享受 6.77% 折扣)。
  • 已安装 Docker 和 Docker Compose(参考 Docker 安装教程)。
  • 域名一个。
  • SMTP 邮件服务(Newsletter 发送必需)。

三、Docker Compose 部署

mkdir -p /opt/ghost
cat > /opt/ghost/docker-compose.yml <<'EOF'
version: '3.8'

services:
  ghost:
    image: ghost:5-alpine
    restart: always
    depends_on:
      - db
    ports:
      - "2368:2368"
    environment:
      url: https://blog.yourdomain.com
      database__client: mysql
      database__connection__host: db
      database__connection__user: ghost
      database__connection__password: ghost_db_password
      database__connection__database: ghost
      mail__transport: SMTP
      mail__options__host: smtp.yourdomain.com
      mail__options__port: 587
      mail__options__auth__user: noreply@yourdomain.com
      mail__options__auth__pass: smtp_password
      mail__options__secure: "false"
      NODE_ENV: production
    volumes:
      - /opt/ghost/content:/var/lib/ghost/content

  db:
    image: mysql:8.0
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root_password
      MYSQL_DATABASE: ghost
      MYSQL_USER: ghost
      MYSQL_PASSWORD: ghost_db_password
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:
EOF

重要url 必须设置为你的实际域名,Ghost 的许多功能依赖此配置。

四、启动服务

cd /opt/ghost
docker compose up -d

查看启动日志:

docker compose logs -f ghost

服务启动后,访问 http://VPS_IP:2368/ghost 进入管理后台,按照向导创建管理员账号。

五、配置 Nginx 反向代理

cat > /etc/nginx/sites-available/ghost <<'EOF'
server {
    listen 80;
    server_name blog.yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:2368;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    client_max_body_size 50m;
}
EOF

ln -sf /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d blog.yourdomain.com

六、配置 Newsletter

Ghost 内置了 Newsletter 功能,配置 SMTP 后即可使用:

  1. 进入管理后台 Settings > Email newsletter。
  2. 配置发件人名称和回复邮箱。
  3. 自定义 Newsletter 模板的样式和布局。
  4. 可以创建多个不同的 Newsletter。

发布文章时,可以选择是否同时以 Newsletter 形式发送给订阅者。

七、会员和付费订阅

Ghost 内置了完整的会员管理系统:

  • 免费会员:注册后可以访问特定内容和接收 Newsletter。
  • 付费会员:通过 Stripe 集成实现付费订阅,可设置月费和年费。
  • 内容访问控制:每篇文章可以设置为公开、免费会员可见或仅付费会员可见。

要启用付费功能,需要在 Settings > Membership 中配置 Stripe 密钥。

八、自定义主题

Ghost 使用 Handlebars 模板引擎。你可以:

  • 从 Ghost Marketplace 下载免费或付费主题。
  • 基于默认主题 Casper 进行修改。
  • 从头开发自定义主题。

上传主题在管理后台的 Settings > Design > Change theme 中进行。

九、数据备份

# 备份内容文件(图片、主题等)
tar czf /opt/ghost/content_backup_$(date +%Y%m%d).tar.gz /opt/ghost/content

# 备份数据库
docker compose exec db mysqldump -u ghost -p ghost > /opt/ghost/db_backup_$(date +%Y%m%d).sql

# Ghost 也支持在管理后台导出 JSON 格式的内容备份
# Settings > Labs > Export content

十、版本更新

cd /opt/ghost
docker compose pull
docker compose up -d
docker image prune -f

Ghost 更新时会自动运行数据库迁移。建议在更新前执行备份。

十一、常见问题

Newsletter 邮件发送失败

检查 SMTP 配置是否正确,可以在管理后台 Settings > Email newsletter 中发送测试邮件。对于大量邮件发送,建议使用 Mailgun 等专业服务。

图片上传失败

检查内容目录的权限和 Nginx 的 client_max_body_size 设置。

总结

Ghost 是一个优秀的内容发布和 Newsletter 平台,特别适合独立博客、媒体和创作者。它的编辑器体验出色,内置的 Newsletter 和会员功能让内容变现变得简单。如果你只需要纯粹的邮件列表管理,可以参考 Listmonk。选购搬瓦工 VPS 请访问 bwh81.net,使用优惠码 NODESEEK2026 享受 6.77% 折扣。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。