用雨云香港 VPS 部署 Ghost:1Panel 建刊物,会员邮件怎么配
用 Ghost 建独立技术刊物,在 1Panel 配好 MySQL、正式 URL、会员登录邮件与 Mailgun newsletter,再检查订阅和恢复。
文章目录
想把独立开发记录做成一份持续更新的技术刊物,通常会遇到两件事:文章需要有自己的域名,订阅的读者又要能收到新内容。Ghost 把文章、会员和邮件订阅放在同一套后台,但网站能打开,并不代表邮件已经配置好。
这篇按 Ghost Docker 应用部署,使用 1Panel 管理容器和 MySQL,再分别处理会员登录邮件与 newsletter。暂时只写公开文章,也可以先不启用邮件群发。
先留出数据库的内存
Ghost 正式环境的官方数据库要求是 MySQL 8,不能因为本地体验用了 SQLite,就把它当成正式刊物的同等选择。已有 MariaDB 的服务器也要单独确认,不能只凭“MySQL 兼容”替代官方支持范围。
Ghost、MySQL 和面板都放在一台机器时,建议从 2 核 4GB 起步,再根据内存占用和文章图片量调整。只有一个小站,可以先月付观察;大型图片和视频最好另做存储与分发,别让服务器带宽承担所有下载。
雨云购买页可选“中国香港 → 极速三网[三区] → AMD EPYC → 流量不限型”。2026 年 10 月 6 日,2 核 4GB、8Mbps 上传、15Mbps 下载,默认 40GB SSD 云盘与一个普通独立 IPv4,在不使用账户优惠券时月付 53 元,显示消费返利 10.6 元;年付七折为 445.2 元,返利 89 元。
预算较少时,同条件 2 核 2GB、5Mbps 上传、10Mbps 下载的月付报价为 38 元,返利 7.6 元;年付七折 319.2 元,返利 63.8 元。是否够用还取决于数据库、主题和同机服务,不能仅按文章数量判断。
通过雨云入口注册,优惠码使用 KuZhuJi。消费返利以积分发放,能用于续费,或按平台规则兑换、提现。规格、时长和优惠会改变返利,确认订单时看“立即购买”下方的实际显示。邮件服务、域名和额外存储费用要另外预算。
在 1Panel 安装 Ghost,先填正式 URL
准备纯净系统和 1Panel,安装 MySQL 8,给 Ghost 创建独立的数据库和用户。进入应用商店选择 Ghost,核对具体镜像版本,再填写数据库连接和外部访问地址。
1Panel 的 Ghost 模板将外部地址传入 url,将数据库配置传入 database__connection__host 等环境变量。url 要填读者实际访问的地址,例如 https://journal.example.com,不要留着 localhost 或服务器 IP。环境变量会覆盖配置文件,排查地址异常时先看应用的持久配置。
通过 1Panel 的网站功能建立反向代理,目标选应用实际可达的 HTTP 地址,申请证书,启用 HTTPS。Ghost 容器内部 HTTP 端口是 2368,宿主机映射端口以安装时设置为准;如果代理也在容器里,127.0.0.1 指向代理自身,须使用它可达的应用地址。
用正式域名访问 /ghost/ 完成管理员初始化。先发布一篇测试文章,检查站点标题、时区、文章 slug、主题在手机上的阅读表现,以及文章图片的 URL。默认模板把应用目录的 ./data 挂到 /var/lib/ghost/content,这里是之后备份图片和主题的重要位置。
会员登录邮件和 newsletter 分开配置
会员登录、验证以及后台邀请这类事务邮件,可以使用支持的 SMTP 服务。Ghost 的原生 newsletter 群发则通过 Mailgun 的批量邮件 API,不能把一个 SMTP 账号填好,就认为新文章可以群发给所有订阅者。
暂时不发邮件刊物,可以不开 newsletter;如果要让读者用邮箱登录,仍然需要把事务邮件配置好。打算使用其他群发平台时,要单独设计会员同步与发送流程,它不会自动变成 Ghost 原生群发的替代配置。
在应用的持久环境配置中添加 SMTP 参数。下面是 587 端口使用 STARTTLS 的示例片段,只展示邮件部分;主机、账号、密码及发件地址都要换成邮件服务实际提供的值。
mail__transport: SMTP
mail__from: VERIFIED_SENDER_EMAIL
mail__options__host: smtp.example.com
mail__options__port: 587
mail__options__secure: false
mail__options__requireTLS: true
mail__options__auth__user: SMTP_USER
mail__options__auth__pass: SMTP_PASSWORD
secure: false 在这个例子中表示不从连接开始就使用隐式 TLS,requireTLS: true 要求成功升级到 STARTTLS 后才能发送;465 端口的隐式 TLS 配置不同,照邮件商说明填写。凭证留在受控配置中,不写进主题、文章或公开仓库。修改环境后按 1Panel 的配置更新流程重建应用,保留数据挂载,单纯重启旧容器不一定会更新环境变量。
启用 newsletter 时,在 Ghost 后台设置 Mailgun 发送域名、API 凭证和正确区域。按服务商要求配置域名验证记录;发件人地址应使用已经验证的域名。完成后先只向自己的测试会员发送,检查投递、退订和邮件中的文章链接,再向真实订阅者发送。
用一名普通会员走完订阅流程
管理员能登录后台,不代表读者能登录。退出管理员账号,用一个普通测试邮箱订阅,查看登录邮件是否到达、链接是否指向正式 HTTPS 域名,以及登录后能否阅读设定权限的文章。
再分别发布公开文章和会员文章,检查无痕窗口里的可见范围。邮件主题、摘要和网页标题不必硬塞同一串关键词:网页标题说明文章解决什么问题,邮件主题让订阅者知道这期讲什么,摘要提供必要条件即可。
newsletter 发送前检查链接与图片,发送后查看实际投递结果。退订测试要真的完成一次,别只确认页脚里存在一个按钮。付费会员还涉及支付服务可用地区和账号条件,服务器部署成功不会自动解决收款问题。
备份包含 MySQL、内容目录和配置
为 Ghost 保存数据库备份、/var/lib/ghost/content 的宿主机挂载目录,以及镜像版本和环境配置。后台内容导出适合迁移文章,但不能替代数据库与文件的完整恢复方案;图片、主题和邮件配置都要另外考虑。
恢复演练用隔离域名,关闭自动发送邮件,避免测试站把旧邮件再发给会员。先恢复兼容版本的 MySQL 和内容目录,再设置副本 URL,检查文章、图片、会员和主题,最后验证邮件配置。
以后升级 Ghost 时,先看目标版本的运行与数据库要求,在副本上测试主题和会员登录。升级已经修改了数据库结构时,回退旧镜像可能不够,需要使用升级前同一批次的数据备份。把能恢复的文件留在服务器之外,比只保留一个“导出成功”的提示更有用。