# Nginx 上游超时 (110: 连接超时)

**URL:** https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403
**Category:** Self-hosting
**Created:** [2021年七月8日 09:11 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403 "2021-07-08T09:11:08Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![X\_Code](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/x_code/32/148529_2.png) [@X\_Code](https://meta.discourse.org/u/X_Code)
#### Post date: [2021年七月8日 09:11 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403/1 "2021-07-08T09:11:08Z")

</div>

你好，我的网站是 [https://1o24bbs.com/](https://1o24bbs.com/)

没有进行任何升级或操作，nginx 突然显示无法连接到上游服务：[http://127.0.0.1:3000](http://127.0.0.1:3000)

该如何排查这个问题？感谢帮助。

---

<div class="post-metadata">

### Author: ![X\_Code](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/x_code/32/148529_2.png) [@X\_Code](https://meta.discourse.org/u/X_Code)
#### Post date: [2021年七月8日 09:11 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403/2 "2021-07-08T09:11:53Z")

</div>

> /shared/log/rails# tail -f unicorn.stdout.log
> 
> 2021-07-08T09:01:03.403Z pid=682 tid=sim ERROR: 获取作业失败：无法连接到 localhost:6379 上的 Redis (Errno::EADDRNOTAVAIL)
> 
> 2021-07-08T09:01:03.412Z pid=682 tid=t4m ERROR: 获取作业失败：无法连接到 localhost:6379 上的 Redis (Errno::EADDRNOTAVAIL)
> 
> 2021-07-08T09:01:03.406Z pid=682 tid=tra ERROR: 获取作业失败：无法连接到 localhost:6379 上的 Redis (Errno::EADDRNOTAVAIL)
> 
> 2021-07-08T09:01:03.407Z pid=682 tid=sn6 ERROR: 获取作业失败：无法连接到 localhost:6379 上的 Redis (Errno::EADDRNOTAVAIL)
> 
> 2021-07-08T09:01:03.407Z pid=682 tid=sze ERROR: 获取作业失败：无法连接到 localhost:6379 上的 Redis (Errno::EADDRNOTAVAIL)
> 
> 正在进程 ID 648 中加载 Sidekiq
> 
> 自我终止监控器已消失
> 
> 自我终止监控器已消失
> 
> 自我终止监控器已消失
> 
> 正在进程 ID 780 中加载 Sidekiq

---

<div class="post-metadata">

### Author: ![X\_Code](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/x_code/32/148529_2.png) [@X\_Code](https://meta.discourse.org/u/X_Code)
#### Post date: [2021年七月8日 09:14 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403/3 "2021-07-08T09:14:16Z")

</div>

> /var/log/redis# tail -f current
> 
> 553:M 2021 年 7 月 8 日 09:11:59.078 \* 60 秒内发生 10000 次变更。正在保存…
> 
> 553:M 2021 年 7 月 8 日 09:11:59.079 \* 后台保存已由进程 ID 1270 启动
> 
> 1270:C 2021 年 7 月 8 日 09:12:01.584 \* 数据库已保存到磁盘
> 
> 1270:C 2021 年 7 月 8 日 09:12:01.595 \* RDB：写时复制使用了 0 MB 内存
> 
> 553:M 2021 年 7 月 8 日 09:12:01.619 \* 后台保存成功终止
> 
> 553:M 2021 年 7 月 8 日 09:13:02.098 \* 60 秒内发生 10000 次变更。正在保存…
> 
> 553:M 2021 年 7 月 8 日 09:13:02.099 \* 后台保存已由进程 ID 1339 启动
> 
> 1339:C 2021 年 7 月 8 日 09:13:04.052 \* 数据库已保存到磁盘
> 
> 1339:C 2021 年 7 月 8 日 09:13:04.055 \* RDB：写时复制使用了 0 MB 内存
> 
> 553:M 2021 年 7 月 8 日 09:13:04.137 \* 后台保存成功终止

---

<div class="post-metadata">

### Author: ![X\_Code](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/x_code/32/148529_2.png) [@X\_Code](https://meta.discourse.org/u/X_Code)
#### Post date: [2021年七月8日 09:28 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403/4 "2021-07-08T09:28:24Z")

</div>

在 `rebuild app` 期间出现错误：`Failed listening on port 6379`（无法监听端口 6379）。

---

<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年七月8日 10:44 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403/5 "2021-07-08T10:44:29Z")

</div>

这是 [Discourse 官方标准安装](https://meta.discourse.org/t/discourse-official-standard-installation/142537) 吗？

你的磁盘空间是否充足（如果你尝试过重建，应该已经注意到了）。

这看起来是 Redis 的问题，但仅凭你提供的信息，我无法确定具体原因。

---

<div class="post-metadata">

### Author: ![X\_Code](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/x_code/32/148529_2.png) [@X\_Code](https://meta.discourse.org/u/X_Code)
#### Post date: [2021年七月8日 10:46 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403/6 "2021-07-08T10:46:27Z")

</div>

是的，该网站多年来一直运行正常。

我开始觉得这可能不是 Redis 的问题。  
Sidekiq 是一个后台任务处理工具，对吧？

这不应该导致 [http://127.0.0.1:3000](http://127.0.0.1:3000/) 无法访问。

---

<div class="post-metadata">

### Author: ![X\_Code](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/x_code/32/148529_2.png) [@X\_Code](https://meta.discourse.org/u/X_Code)
#### Post date: [2021年七月8日 10:55 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403/8 "2021-07-08T10:55:02Z")

</div>

nginx 中的更多日志

> 2021/07/08 10:54:31 [error] 570#570: \*169 上游读取响应头时超时 (110: 连接超时)，客户端：100.19.76.187，服务器：\_，请求：“POST /message-bus/4cf07f106ff14fd885fd735ea28abce4/poll?dlp=t HTTP/2.0”，上游：“[http://127.0.0.1:3000/message-bus/4cf07f106ff14fd885fd735ea28abce4/poll?dlp=t"，主机：“1o24bbs.com”，引用来源："https://1o24bbs.com/t/icc/25834](http://127.0.0.1:3000/message-bus/4cf07f106ff14fd885fd735ea28abce4/poll?dlp=t%22%EF%BC%8C%E4%B8%BB%E6%9C%BA%EF%BC%9A%221o24bbs.com%22%EF%BC%8C%E5%BC%95%E7%94%A8%E6%9D%A5%E6%BA%90%EF%BC%9A%22https://1o24bbs.com/t/icc/25834)”
> 
> 2021/07/08 10:54:32 [error] 570#570: \*169 连接上游时超时 (110: 连接超时)，客户端：100.19.76.187，服务器：\_，请求：“POST /message-bus/fe81f75495324a109de3812a3c5a9abd/poll?dlp=t HTTP/2.0”，上游：“[http://127.0.0.1:3000/message-bus/fe81f75495324a109de3812a3c5a9abd/poll?dlp=t"，主机：“1o24bbs.com”，引用来源："https://1o24bbs.com/t/icc/23914](http://127.0.0.1:3000/message-bus/fe81f75495324a109de3812a3c5a9abd/poll?dlp=t%22%EF%BC%8C%E4%B8%BB%E6%9C%BA%EF%BC%9A%221o24bbs.com%22%EF%BC%8C%E5%BC%95%E7%94%A8%E6%9D%A5%E6%BA%90%EF%BC%9A%22https://1o24bbs.com/t/icc/23914)”
> 
> 2021/07/08 10:54:33 [error] 570#570: \*169 上游读取响应头时超时 (110: 连接超时)，客户端：100.19.76.187，服务器：\_，请求：“POST /message-bus/1dd105462c5b4b4c978e1702fa885e14/poll?dlp=t HTTP/2.0”，上游：“[http://127.0.0.1:3000/message-bus/1dd105462c5b4b4c978e1702fa885e14/poll?dlp=t"，主机：“1o24bbs.com”，引用来源："https://1o24bbs.com/t/topic/15436](http://127.0.0.1:3000/message-bus/1dd105462c5b4b4c978e1702fa885e14/poll?dlp=t%22%EF%BC%8C%E4%B8%BB%E6%9C%BA%EF%BC%9A%221o24bbs.com%22%EF%BC%8C%E5%BC%95%E7%94%A8%E6%9D%A5%E6%BA%90%EF%BC%9A%22https://1o24bbs.com/t/topic/15436)”
> 
> 2021/07/08 10:54:36 [error] 570#570: \*13261 上游读取响应头时超时 (110: 连接超时)，客户端：220.196.56.24，服务器：\_，请求：“GET /?374e828961d36d46bd99dc8e13b7f640 HTTP/1.1”，上游：“[http://127.0.0.1:3000/?374e828961d36d46bd99dc8e13b7f640"，主机：“1o24bbs.com”，引用来源："https://gateway.zscalertwo.net:443/auT?origurl=https%3A%2F%2F1o24bbs.com%2F%3F374e828961d36d46bd99dc8e13b7f640&wexps=1&\_ordtok=SWk3WVhmhHBPJ4rLFk4nDRnkZ3&wexps=1](http://127.0.0.1:3000/?374e828961d36d46bd99dc8e13b7f640%22%EF%BC%8C%E4%B8%BB%E6%9C%BA%EF%BC%9A%221o24bbs.com%22%EF%BC%8C%E5%BC%95%E7%94%A8%E6%9D%A5%E6%BA%90%EF%BC%9A%22https://gateway.zscalertwo.net:443/auT?origurl=https%3A%2F%2F1o24bbs%2ecom%2f%3f374e828961d36d46bd99dc8e13b7f640&wexps=1&_ordtok=SWk3WVhmhHBPJ4rLFk4nDRnkZ3&wexps=1)”

---

<div class="post-metadata">

### Author: ![X\_Code](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/x_code/32/148529_2.png) [@X\_Code](https://meta.discourse.org/u/X_Code)
#### Post date: [2021年七月8日 10:58 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403/9 "2021-07-08T10:58:36Z")

</div>

在 production.log 中，我看到

> Processing by CategoriesController#index as HTML  
> Parameters: {“41528430213d6ae753e074e11328b67b”=\>nil}  
> Job exception: FATAL: 数据库系统正在关闭

---

<div class="post-metadata">

### Author: ![X\_Code](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/x_code/32/148529_2.png) [@X\_Code](https://meta.discourse.org/u/X_Code)
#### Post date: [2021年七月8日 11:10 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403/10 "2021-07-08T11:10:30Z")

</div>

@pfaffman 如何刷新 Redis？谢谢！

---

<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年七月8日 11:25 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403/11 "2021-07-08T11:25:27Z")

</div>

您是否已执行 [PostgreSQL 13 更新](https://meta.discourse.org/t/postgresql-13-update/172563)？

---

<div class="post-metadata">

### Author: ![X\_Code](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/x_code/32/148529_2.png) [@X\_Code](https://meta.discourse.org/u/X_Code)
#### Post date: [2021年七月8日 11:28 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403/12 "2021-07-08T11:28:08Z")

</div>

谢谢！  
我的网站运行的是最新版本的 Discourse。我已经运行该版本至少一个月了。

我没有手动升级 PostgreSQL，但我认为 PostgreSQL 是 13 版本。  
如何确认这一点？

$ psql -V  
psql (PostgreSQL) 13.3 (Debian 13.3-1.pgdg100+1)

---

<div class="post-metadata">

### Author: ![X\_Code](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/x_code/32/148529_2.png) [@X\_Code](https://meta.discourse.org/u/X_Code)
#### Post date: [2021年七月8日 11:31 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403/13 "2021-07-08T11:31:44Z")

</div>

顺便一提，我正在运行一个单容器 `app`。

---

<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年七月8日 11:33 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403/14 "2021-07-08T11:33:00Z")

</div>

您是否安装了任何非标准插件？

---

<div class="post-metadata">

### Author: ![X\_Code](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/x_code/32/148529_2.png) [@X\_Code](https://meta.discourse.org/u/X_Code)
#### Post date: [2021年七月8日 11:33 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403/15 "2021-07-08T11:33:41Z")

</div>

我安装的插件：

- docker\_manager
- discourse-adplugin

---

<div class="post-metadata">

### Author: ![X\_Code](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/x_code/32/148529_2.png) [@X\_Code](https://meta.discourse.org/u/X_Code)
#### Post date: [2021年七月8日 11:47 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403/16 "2021-07-08T11:47:44Z")

</div>

您认为问题是出在 Redis 还是 PostgreSQL？

---

<div class="post-metadata">

### Author: ![X\_Code](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/x_code/32/148529_2.png) [@X\_Code](https://meta.discourse.org/u/X_Code)
#### Post date: [2021年七月8日 11:58 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403/17 "2021-07-08T11:58:56Z")

</div>

执行 `# ./launcher enter app` 后，运行 `curl http://127.0.0.1:3000` 会超时。

---

<div class="post-metadata">

### Author: ![X\_Code](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/x_code/32/148529_2.png) [@X\_Code](https://meta.discourse.org/u/X_Code)
#### Post date: [2021年七月8日 12:10 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403/18 "2021-07-08T12:10:25Z")

</div>

discourse-doctor 输出：

```plaintext
==================== DOCKER 信息 ====================
DOCKER 版本：Docker version 19.03.13, build 4484c46d9d

DOCKER 进程 (docker ps -a)

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
70709beca56d local_discourse/app "/sbin/boot" 15 分钟前 运行中 15 分钟 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp app
1828993cd957 discourse/base:2.0.20210528-1735 "/bin/bash -c 'cd /p…" 2 小时前 已退出 (1) 2 小时前 agitated_curie

70709beca56d local_discourse/app "/sbin/boot" 15 分钟前 运行中 15 分钟 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp app

Discourse 容器 app 正在运行

==================== 插件 ====================
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-adplugin.git

未检测到非官方插件。

官方列表请参阅：https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb

========================================

```

---

<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年七月9日 10:43 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403/19 "2021-07-09T10:43:11Z")

</div>

抱歉，我没有任何想法。你最近重启过吗？

---

<div class="post-metadata">

### Author: ![X\_Code](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/x_code/32/148529_2.png) [@X\_Code](https://meta.discourse.org/u/X_Code)
#### Post date: [2021年七月12日 17:24 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403/20 "2021-07-12T17:24:41Z")

</div>

我不得不启动一台新的虚拟机，并使用数据库备份来创建一个新的容器。但在那之后，问题似乎又出现了……

---

<div class="post-metadata">

### Author: ![cadforecast](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/cadforecast/32/208200_2.png) [@cadforecast](https://meta.discourse.org/u/cadforecast)
#### Post date: [2021年七月13日 07:57 UTC](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403/21 "2021-07-13T07:57:41Z")

</div>

曾在一家公司网站（[外汇在线汇款](https://www.mtfxgroup.com/)）遇到相同问题，尝试重启服务器并将超时时间设置为 1000 秒，然后进行测试。

[下一頁](https://meta.discourse.org/t/nginx-upstream-timed-out-110-connection-timed-out/196403.md?page=2)
