你好,我的网站是 https://1o24bbs.com/
没有进行任何升级或操作,nginx 突然显示无法连接到上游服务:http://127.0.0.1:3000
该如何排查这个问题?感谢帮助。
/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
/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 * 后台保存成功终止
在 rebuild app 期间出现错误:Failed listening on port 6379(无法监听端口 6379)。
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”
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”
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”
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”
在 production.log 中,我看到
Processing by CategoriesController#index as HTML
Parameters: {“41528430213d6ae753e074e11328b67b”=>nil}
Job exception: FATAL: 数据库系统正在关闭
@pfaffman 如何刷新 Redis?谢谢!
您是否已执行 PostgreSQL 13 更新?
谢谢!
我的网站运行的是最新版本的 Discourse。我已经运行该版本至少一个月了。
我没有手动升级 PostgreSQL,但我认为 PostgreSQL 是 13 版本。
如何确认这一点?
$ psql -V
psql (PostgreSQL) 13.3 (Debian 13.3-1.pgdg100+1)
顺便一提,我正在运行一个单容器 app。
您是否安装了任何非标准插件?
我安装的插件:
您认为问题是出在 Redis 还是 PostgreSQL?
执行 # ./launcher enter app 后,运行 curl http://127.0.0.1:3000 会超时。
discourse-doctor 输出:
==================== 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
========================================
抱歉,我没有任何想法。你最近重启过吗?
我不得不启动一台新的虚拟机,并使用数据库备份来创建一个新的容器。但在那之后,问题似乎又出现了……
曾在一家公司网站(外汇在线汇款)遇到相同问题,尝试重启服务器并将超时时间设置为 1000 秒,然后进行测试。