# 在 "launcher rebuild app" 上使用 nginx 显示 "维护中" 页面？

**URL:** <https://meta.discourse.org/t/showing-a-under-maintenance-page-using-nginx-at-the-launcher-rebuild-app/281488>\
**Category:** Self-hosting\
**Created:** [2023年十月8日 02:34 UTC](https://meta.discourse.org/t/showing-a-under-maintenance-page-using-nginx-at-the-launcher-rebuild-app/281488 "2023-10-08T02:34:52Z")\
**Posts on this page:** 1\
**Showing post:** 5

<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:** [2023年十月8日 15:16 UTC](https://meta.discourse.org/t/showing-a-under-maintenance-page-using-nginx-at-the-launcher-rebuild-app/281488/5 "2023-10-08T15:16:10Z")

</div>

主要的数据库升级一年发生的次数不到一次。次要的数据库升级花费的时间不长，您可以在几分钟内重建数据容器，销毁并启动 Web 容器。似乎有些人宁愿看到一个漂亮的网站宕机消息，而不是缩短宕机时间，所以第二个容器是实现这一目标的方法。

实际上，也许最简单的解决方案是只使用一个带有“即将回归”消息的第二个 nginx 容器，在进行升级时手动运行它，例如：

```plaintext
./launcher stop app
docker run nginx --name back-soon # 以及更多用于查看页面已提供的命令
./launcher bootstrap app
./launcher destroy app
docker stop back-soon
./launcher start app

```

但是，您必须为 `back-soon` 容器获取证书并保持证书更新，这很复杂。

编辑：这是此讨论的规范主题 [Add an offline page to display when Discourse is rebuilding or starting up - #83 by amotl](https://meta.discourse.org/t/add-an-offline-page-to-display-when-discourse-is-rebuilding-or-starting-up/45238/83)

---

_[View the full topic](https://meta.discourse.org/t/showing-a-under-maintenance-page-using-nginx-at-the-launcher-rebuild-app/281488)._
