# 是否有办法在不重建的情况下使用nginx conf值进行播放？

**URL:** <https://meta.discourse.org/t/any-way-to-play-with-nginx-conf-values-without-rebuilding/311360>\
**Category:** Self-hosting\
**Tags:** nginx\
**Created:** [2024年六月10日 09:35 UTC](https://meta.discourse.org/t/any-way-to-play-with-nginx-conf-values-without-rebuilding/311360 "2024-06-10T09:35:14Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![helmi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/helmi/32/114772_2.png) [@helmi](https://meta.discourse.org/u/helmi)\
**Post date:** [2024年六月10日 09:35 UTC](https://meta.discourse.org/t/any-way-to-play-with-nginx-conf-values-without-rebuilding/311360/1 "2024-06-10T09:35:14Z")

</div>

我已经在 `app.yml` 中的替换规则中为 nginx 使用了更高的 `worker_connections` 和 `worker_processes` 值。

虽然我会尝试找到最佳值，但最好不要每次都重建 discourse。有没有一种方法可以在容器中更改 `nginx.conf` 并重新启动 nginx 进程而不必完全重建 discourse？

---

<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:** [2024年六月10日 13:33 UTC](https://meta.discourse.org/t/any-way-to-play-with-nginx-conf-values-without-rebuilding/311360/2 "2024-06-10T13:33:09Z")

</div>

是的，您可以进入容器（例如 `./launcher enter app`），使用 `apt` 安装编辑器，编辑 NGINX 文件，然后运行 `sv restart nginx`（`reload` 也许也行？）。

---

<div class="post-metadata">

**Author:** ![helmi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/helmi/32/114772_2.png) [@helmi](https://meta.discourse.org/u/helmi)\
**Post date:** [2024年六月10日 14:47 UTC](https://meta.discourse.org/t/any-way-to-play-with-nginx-conf-values-without-rebuilding/311360/3 "2024-06-10T14:47:07Z")

</div>

我想到了一个方法并尝试过，直到我发现甚至连一个 apt 源都没有。为我不了解且在生产环境中运行的系统添加一个源听起来有点不可靠。至少有 vi 在那里将有助于完成一些简单的任务 _眨眼_ 😉

---

<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:** [2024年六月10日 14:55 UTC](https://meta.discourse.org/t/any-way-to-play-with-nginx-conf-values-without-rebuilding/311360/4 "2024-06-10T14:55:08Z")

</div>

我以前从没注意过 apt 源，但我有几个模板会执行 `apt-get update; apt-get install` 来在容器中安装东西（例如，我的 [dashboard.literatecomputing.com](http://dashboard.literatecomputing.com) 需要 python 和 ansible）。它能正常工作，或者说直到上周五都还能正常工作。同样，我用于执行迁移的模板会添加 `vim` 和其他一些东西。

我不建议手动编辑生产环境中的内容，因为下次重建时更改显然会丢失，但如果你只是想测试值以找到有效的值，这可能是一个足够好的解决方案（因为它避免了大量的重建）。

另外，2 容器设置在进行重建并启动新容器时，通常只有不到 1 分钟的停机时间。

---

<div class="post-metadata">

**Author:** ![helmi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/helmi/32/114772_2.png) [@helmi](https://meta.discourse.org/u/helmi)\
**Post date:** [2024年六月10日 15:07 UTC](https://meta.discourse.org/t/any-way-to-play-with-nginx-conf-values-without-rebuilding/311360/5 "2024-06-10T15:07:00Z")

</div>

我不会关注 apt sources，但没有 sources 就无法安装，否则我真的不在乎。

```plaintext
root@forum-app:/var/www/discourse# apt install vi
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package vi
root@forum-app:/var/www/discourse# apt list sources
Listing... Done
root@forum-app:/var/www/discourse#

```

为了确保万无一失，apt-get 和 vim 或 nano 也是如此 😉

---

<div class="post-metadata">

**Author:** ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)\
**Post date:** [2024年六月10日 15:21 UTC](https://meta.discourse.org/t/any-way-to-play-with-nginx-conf-values-without-rebuilding/311360/6 "2024-06-10T15:21:27Z")

</div>

在使用 `apt install` 之前，您是否运行了 `apt update`？第一次使用时，您需要刷新源列表。

---

<div class="post-metadata">

**Author:** ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)\
**Post date:** [2024年六月10日 15:21 UTC](https://meta.discourse.org/t/any-way-to-play-with-nginx-conf-values-without-rebuilding/311360/7 "2024-06-10T15:21:54Z")

</div>

Ubuntu 某项操作，在运行 `apt update && apt dist-upgrade`（我回答了否，因为它想更新 pqsl，我当时很慌）之后，`apt install nano` 成功了。

---

<div class="post-metadata">

**Author:** ![helmi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/helmi/32/114772_2.png) [@helmi](https://meta.discourse.org/u/helmi)\
**Post date:** [2024年六月20日 08:58 UTC](https://meta.discourse.org/t/any-way-to-play-with-nginx-conf-values-without-rebuilding/311360/8 "2024-06-20T08:58:24Z")

</div>

嗯，没有源——没有源的话 apt updates 什么也做不了 😉

---

<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:** [2024年六月20日 19:33 UTC](https://meta.discourse.org/t/any-way-to-play-with-nginx-conf-values-without-rebuilding/311360/9 "2024-06-20T19:33:07Z")

</div>

这是一个标准的安装吗？

我刚刚在今天构建的站点上运行了

```plaintext
apt update
apt installl -y vim

```

并安装了 vim。

---

<div class="post-metadata">

**Author:** ![helmi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/helmi/32/114772_2.png) [@helmi](https://meta.discourse.org/u/helmi)\
**Post date:** [2024年六月20日 20:02 UTC](https://meta.discourse.org/t/any-way-to-play-with-nginx-conf-values-without-rebuilding/311360/10 "2024-06-20T20:02:43Z")

</div>

在 discourse 容器内？非常标准的安装。

---

<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:** [2024年六月20日 20:03 UTC](https://meta.discourse.org/t/any-way-to-play-with-nginx-conf-values-without-rebuilding/311360/11 "2024-06-20T20:03:47Z")

</div>

那我无法解释你上面粘贴的代码为何对你无效。我今天做的，而且已经做了很多年了。

---

<div class="post-metadata">

**Author:** ![Jagster](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jagster/32/192154_2.png) [@Jagster](https://meta.discourse.org/u/Jagster)\
**Post date:** [2024年六月20日 20:30 UTC](https://meta.discourse.org/t/any-way-to-play-with-nginx-conf-values-without-rebuilding/311360/12 "2024-06-20T20:30:28Z")

</div>

对我来说，在 Ubuntu 上执行 `/launcher enter app` 后，我可以成功运行 `apt update && apt install nano -y`。（vim 更像是 S/M 类型编辑器……）。所以如果 `apt` 不起作用，我会认为要么是系统本身，要么是 docker 坏了🤔

---

<div class="post-metadata">

**Author:** ![helmi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/helmi/32/114772_2.png) [@helmi](https://meta.discourse.org/u/helmi)\
**Post date:** [2024年六月24日 07:09 UTC](https://meta.discourse.org/t/any-way-to-play-with-nginx-conf-values-without-rebuilding/311360/13 "2024-06-24T07:09:37Z")

</div>

对我来说，它现在也奏效了——老实说，我开始怀疑人生了——我不确定是什么原因，但它现在奏效了。_叹气_

---

<div class="post-metadata">

**Author:** ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)\
**Post date:** [2024年六月24日 14:48 UTC](https://meta.discourse.org/t/any-way-to-play-with-nginx-conf-values-without-rebuilding/311360/14 "2024-06-24T14:48:55Z")

</div>

没关系，这种情况时有发生！很高兴现在它能正常工作了。👍
