# 备份生产环境 -\> 快照 -\> 构建测试 -\> 更改地址

**URL:** https://meta.discourse.org/t/backup-prod-snap-build-test-change-address/387853
**Category:** Self-hosting
**Tags:** unsupported-install
**Created:** [2025年十一月7日 10:58 UTC](https://meta.discourse.org/t/backup-prod-snap-build-test-change-address/387853 "2025-11-07T10:58:44Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![elRicharde](https://avatars.discourse-cdn.com/v4/letter/e/5e9695/32.png) [@elRicharde](https://meta.discourse.org/u/elRicharde)
#### Post date: [2025年十一月7日 10:58 UTC](https://meta.discourse.org/t/backup-prod-snap-build-test-change-address/387853/1 "2025-11-07T10:58:44Z")

</div>

大家好，  
我正在努力实现我的目标，尽管有人工智能的帮助。

我们的 Discourse 运行在 Hetzner 上。地址可能是 [forum.thisIsMyDomain.com](http://forum.thisIsMyDomain.com)。  
我从中进行备份，然后从备份中创建快照。

我有一个额外的 Hetzner 服务器用于测试目的，我将从快照中重建它。该服务器自然会有不同的 IP 和地址，例如 [dev.thisIsMyDomain.com](http://dev.thisIsMyDomain.com)。

我该如何让开发/测试实例运行起来？  
nano /var/discourse/containers/app.yml

DISCOURSE\_HOSTNAME：调整为新名称

这似乎还不够。  
但我也绝对不想进行重建，而是想在第一步运行一个 1:1 的副本。

有人有这方面的经验，并能给我一些关于如何继续的建议吗？感谢您的时间。

Richarde

---

<div class="post-metadata">

### Author: ![NateDhaliwal](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/natedhaliwal/32/313494_2.png) [@NateDhaliwal](https://meta.discourse.org/u/NateDhaliwal)
#### Post date: [2025年十一月7日 11:01 UTC](https://meta.discourse.org/t/backup-prod-snap-build-test-change-address/387853/2 "2025-11-07T11:01:30Z")

</div>

您好，您是按照此指南从备份中恢复的吗？

> [@Restore a backup from the command line](https://meta.discourse.org/t/restore-a-backup-from-the-command-line/108034):
>
> bookmark This guide explains how to restore a Discourse backup from the command line without using the Discourse web UI. person_raising_hand Required user level: Administrator wrench Console access required Here’s how to restore a Discourse backup from the command line, without ever booting the Discourse web UI. This is handy when you’re moving servers. Prerequisites Before you start, make sure you complete the following steps: Download the latest backup file from the source Disco…

（另请参阅 [https://meta.discourse.org/t/restore-a-discourse-backup-manually-for-development/33551，但我不认为这相关？）](https://meta.discourse.org/t/restore-a-discourse-backup-manually-for-development/33551%EF%BC%8C%E4%BD%86%E6%88%91%E4%B8%8D%E8%AE%A4%E4%B8%BA%E8%BF%99%E7%9B%B8%E5%85%B3%EF%BC%9F%EF%BC%89)

---

<div class="post-metadata">

### Author: ![elRicharde](https://avatars.discourse-cdn.com/v4/letter/e/5e9695/32.png) [@elRicharde](https://meta.discourse.org/u/elRicharde)
#### Post date: [2025年十一月7日 12:50 UTC](https://meta.discourse.org/t/backup-prod-snap-build-test-change-address/387853/3 "2025-11-07T12:50:33Z")

</div>

感谢您的回复。

> [@NateDhaliwal](#):
>
> 您是否遵循了此恢复备份的指南？

不，我尝试用自己的方法，并正在为我的方法寻找解决方案。

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2025年十一月7日 19:45 UTC](https://meta.discourse.org/t/backup-prod-snap-build-test-change-address/387853/4 "2025-11-07T19:45:12Z")

</div>

> [@elRicharde](#):
>
> 如何才能运行开发/测试实例？

你可以尝试更改主机名并运行“./launcher rebuild app”。

但是由于主机名已更改，数据库中的许多内容也需要更改。最简单的方法是恢复备份。曾经有一个关于如何更改主机名的话题；我没找到，但可能是我没仔细看。或者也许它被删除了，因为恢复备份要容易得多，也更可靠。

你也许可以运行 `./launcher destroy app;./launcher start app` 然后从命令行恢复备份。

我推荐 [使用 rsync 将 Discourse 站点迁移到另一台 VPS](https://meta.discourse.org/t/move-a-discourse-site-to-another-vps-with-rsync/43812) 和 [设置暂存服务器](https://meta.discourse.org/t/set-up-a-staging-server/225951)

> [@elRicharde](#):
>
> 但是，我绝对不想执行重建，而是想在第一步运行一个 1:1 的副本。

那么你应该做的是将你的 docker 镜像推送到某个地方，然后使用 `./launcher start-cmd app` 来查看如何启动它。所以你需要足够了解 docker 才能将镜像推送到私有仓库并启动它，然后恢复备份。

---

<div class="post-metadata">

### Author: ![elRicharde](https://avatars.discourse-cdn.com/v4/letter/e/5e9695/32.png) [@elRicharde](https://meta.discourse.org/u/elRicharde)
#### Post date: [2025年十一月12日 08:51 UTC](https://meta.discourse.org/t/backup-prod-snap-build-test-change-address/387853/5 "2025-11-12T08:51:14Z")

</div>

我想将这次尝试标记为正式失败 🙂  
我尝试了很多方法，但似乎对我来说是不可能的，因此我决定放弃这条路。

只是想通知所有可能有同样想法的人。  
如果我作为初学者以其他方式解决了我的问题，我很乐意在这里分享我成功的方法。

---

<div class="post-metadata">

### Author: ![elRicharde](https://avatars.discourse-cdn.com/v4/letter/e/5e9695/32.png) [@elRicharde](https://meta.discourse.org/u/elRicharde)
#### Post date: [2026年二月5日 20:01 UTC](https://meta.discourse.org/t/backup-prod-snap-build-test-change-address/387853/6 "2026-02-05T20:01:53Z")

</div>

> [@pfaffman](#):
>
> 您可以尝试更改主机名并运行 `./launcher rebuild app`。

实际上这有效。  
不知道为什么之前不行，但现在我就是这样做的。

- 生产环境快照 (Snap of Prod)。
- 从生产环境快照重建开发环境 (Rebuild Dev from Prod Snap)
- 更改 app.yml 中的 “DISCOURSE\_HOSTNAME” 为新的开发地址 (change app.ylm “DISCOURSE\_HOSTNAME” to new DevAdr)
- 重建应用 (Rebuild App)

您不应该在一周内频繁执行此操作，因为 SSL 可信证书存在速率限制。最佳实践是：  
快照生产环境，重建开发环境，快照开发环境 (snap Prod, rebuild Dev, Snap Dev)

在同一地址进行的所有重建都不会导致 SSL 证书的重新创建。

对我来说，这是创建测试服务器的简单方法，只需点击几下。

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [2026年三月7日 20:02 UTC](https://meta.discourse.org/t/backup-prod-snap-build-test-change-address/387853/7 "2026-03-07T20:02:31Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
