# 如何更改独角兽的数量？

**URL:** <https://meta.discourse.org/t/how-to-change-the-number-of-unicorns/211732>\
**Category:** Self-hosting\
**Created:** [2021年十二月10日 13:51 UTC](https://meta.discourse.org/t/how-to-change-the-number-of-unicorns/211732 "2021-12-10T13:51:24Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Aleksandre](https://avatars.discourse-cdn.com/v4/letter/a/258eb7/32.png) [@Aleksandre](https://meta.discourse.org/u/Aleksandre)\
**Post date:** [2021年十二月10日 13:51 UTC](https://meta.discourse.org/t/how-to-change-the-number-of-unicorns/211732/1 "2021-12-10T13:51:24Z")

</div>

您好，

我想知道如何设置运行的独角兽数量。我需要它来调整 RAM 消耗，并且在此论坛和网络上都找不到任何具体信息。

我正在寻找诸如正确文件的位置、要更改的行的名称、是否需要采取任何预防措施等信息。

我猜想更改后，需要重新启动/重新构建软件。如何正确操作？

感谢您的时间。

---

<div class="post-metadata">

**Author:** ![Steven](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/steven/32/187890_2.png) [@Steven](https://meta.discourse.org/u/Steven)\
**Post date:** [2021年十二月10日 13:57 UTC](https://meta.discourse.org/t/how-to-change-the-number-of-unicorns/211732/2 "2021-12-10T13:57:19Z")

</div>

要编辑这些设置，您可以编辑 app.yml

```plaintext
cd /var/discourse
nano containers/app.yml

```

大约在第 48 行，您应该看到：

```plaintext
## How many concurrent web requests are supported? Depends on memory and CPU cores.
  ## will be set automatically by bootstrap based on detected CPUs, or you can override
  UNICORN_WORKERS: 8

```

我不是这方面的专家，但您可能需要检查大约第 30 行以减少数量：

```plaintext
  ## Set db_shared_buffers to a max of 25% of the total memory.
  ## will be set automatically by bootstrap based on detected RAM, or you can override
  db_shared_buffers: "2048MB"

```

保存文件（通常按 CTRL+X 然后按 Y），然后您确实需要重建 discourse 以使用新设置，使用：

```plaintext
./launcher rebuild app

```

在此过程中，您的论坛将离线大约 10 分钟。

---

<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:** [2021年十二月10日 18:58 UTC](https://meta.discourse.org/t/how-to-change-the-number-of-unicorns/211732/3 "2021-12-10T18:58:56Z")

</div>

> [@Steven](#):
>
> 那么你确实需要重建 discourse 来使用新设置，

我认为，但我没有测试过，`UNICORN_WORKERS` 是在环境变量中设置的，而不是在任何配置文件中，所以你不需要重建，只需要

```
 ./launcher destroy app;./launcher start app

```

我很确定（但还没看）`db_shared_buffers` 的更改需要重建（或者你可以编辑容器内的相应设置文件然后重启它）。

---

<div class="post-metadata">

**Author:** ![Aleksandre](https://avatars.discourse-cdn.com/v4/letter/a/258eb7/32.png) [@Aleksandre](https://meta.discourse.org/u/Aleksandre)\
**Post date:** [2021年十二月12日 08:21 UTC](https://meta.discourse.org/t/how-to-change-the-number-of-unicorns/211732/4 "2021-12-12T08:21:49Z")

</div>

我的 discourse 安装是通过 Yunohost 完成的，似乎有些地方不一样。我没能找到 app.yml 文件。

我正在等待 Yunohost 团队的答复。我会及时向您汇报。

---

<div class="post-metadata">

**Author:** ![TheLaserGuy](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thelaserguy/32/303666_2.png) [@TheLaserGuy](https://meta.discourse.org/u/TheLaserGuy)\
**Post date:** [2023年四月21日 15:43 UTC](https://meta.discourse.org/t/how-to-change-the-number-of-unicorns/211732/5 "2023-04-21T15:43:56Z")

</div>

我在 Yunohost 上自托管 Discourse 论坛时，遇到了 SMTP 电子邮件配置问题。在仔细查阅了 meta.discourse 文档后，我没有找到关于 Yunohost 特定操作或保存位置的信息。我卸载并重新安装了 Discourse，复制了日志文件，最终找到了包含 SMTP 信息的配置文件。

如果您也使用 Yunohost 并需要配置 Discourse 的 SMTP 设置，您可以在以下位置找到要修改的文件：

> /var/www/discourse/config/discourse.conf

打开该文件，配置 SMTP 设置，保存并退出，然后使用命令“systemctl restart discourse”重新启动 Discourse。

```plaintext
root@yuno:~# nano /var/www/discourse/config/discourse.conf
root@yuno:~# systemctl restart discourse

```

如果这对其他人有帮助，因为我也找不到信息——

要使用 Office365 配置 Discourse，您需要执行以下操作：

1. 转到您的 Microsoft 365 管理中心
2. 点击“设置”，然后点击“域”
3. 点击“添加域”
4. 按照屏幕上的说明添加您论坛的 URL
5. 完成上述步骤并验证 DNS 后，您就可以使用该子域创建一个收件箱了
6. 点击“用户”，然后点击“活动用户”
7. 点击“添加用户”
8. 为您的论坛创建邮箱（例如：noreply@forum.yourlinks.com）_邮箱域名必须与论坛运行的主机名匹配_
9. 点击“许可证和应用”
10. 为此邮箱分配一个 Exchange Online (Plan 1) 许可证（每天 10,000 条消息，每分钟 30 条消息的限制）_邮箱必须附加许可证才能用于 [直接发送](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites/49487)。撰写本文时，成本为每月 4.00 美元/月或 5.10 加元/月 | 如果您需要更高的限制或更短的节流，还有其他计划可用_
11. 点击“邮件”，然后点击“管理电子邮件应用”
12. 启用“已验证的 SMTP”
13. 点击“保存更改”
14. 转到您的 Azure 门户
15. 浏览到您的活动目录
16. 在左侧边栏中选择“属性”，就在“用户设置”下方
17. 选择“管理安全默认值”
18. 将“安全默认值”设置为“已禁用”
19. 点击“保存”
20. 返回“用户”\>“活动用户”
21. 点击“多重身份验证”
22. 禁用正在使用的邮箱上的 MFA

现在，就 Office365/Microsoft365 而言，您新创建的邮箱已准备好代表您的 Discourse 实例进行直接发送。

使用 Office365 邮箱的设置：  
_修改 /var/www/discourse/config/discourse.conf 中的这些行_

```plaintext
# 运行论坛的主机名
hostname = "forum.yourlinks.com"

# 备份主机名，主要用于 CDN 使用
backup_hostname =

# 用于发送电子邮件的 SMTP 服务器地址
smtp_address = smtp.office365.com

# 用于发送电子邮件的 SMTP 服务器端口
smtp_port = 587

# 传递给 SMTP 服务器的域名
smtp_domain = forum.yourlinks.com

# SMTP 服务器的用户名
smtp_user_name = noreply@forum.yourlinks.com

# SMTP 服务器的密码
smtp_password = YourLinksPassWordHere

# SMTP 身份验证机制
smtp_authentication = login

# 为 SMTP 连接启用 TLS 加密
smtp_enable_start_tls = true

# 用于验证 SMTP 服务器证书的模式
# 要禁用，请设置为 'none'
smtp_openssl_verify_mode =

# 根据 RFC 8314 3.3 强制使用隐式 TLS
smtp_force_tls = false

# 在生产环境中加载 MiniProfiler，供开发人员使用
load_mini_profiler = false

# 运行论坛的主机名
hostname = "forum.yourlinks.com"

```
