Vasiliy
(Vasiliy Zukanov)
1
我正在筹备一个新论坛的上线。我在 DigitalOcean 上自托管了 Discourse(版本 2.6.0.beta1)(顺便提一句,我仍然很惊讶你们竟然免费赠送这个宝藏)。一切运行良好,所有用户(包括我自己)都有头像。
然而,在某个特定时刻,我没有任何修改论坛配置,只是刷新了浏览器页面,头像就全部消失了。
目前,主题列表看起来是这样的:
有趣的是,如果我打开一个主题,那么“状态栏”中确实会显示头像:

编辑:我刚刚尝试在无痕模式下再次访问论坛。所有头像都不见了,所以我猜我之前在某些地方看到它们可能与缓存有关。
不过,如果打开用户个人资料页面,那里也没有头像:
幸运的是,我已经开始备份数据,而且论坛上测试用户还不多,所以我希望可以通过恢复备份来解决这个问题。但如果不找出根本原因,我可能会再次遇到同样的问题。
据我所知,这些头像来自 Gravatar。
我是 Discourse 的新手,所以如果这份报告信息不足,请提前见谅。如有需要,我会随时提供额外信息。
谢谢
IAmGav
(Gavin Perch)
2
用户头像如果关联了 Gravatar 账户,将从 Gravatar 获取。我不确定拉取频率,但有一种方法可以强制下载头像。
如果必须更新所有用户,可以运行:
./launcher enter app
rails r 'UserAvatar.find_each {|u| print "."; u.update_gravatar!}'
这可能需要一段时间才能完成。
参考:Automatic updates of Gravatar avatars? - #7 by sam
Vasiliy
(Vasiliy Zukanov)
3
@IAmGav,感谢您的建议。
不幸的是,即使执行了此步骤并等待了 30 分钟,仍然没有显示头像。
Vasiliy
(Vasiliy Zukanov)
4
我在这个问题上花了好几个小时,但没找到解决方案。从备份恢复也没用 
我发现了 2018 年的一个类似问题:How to fix user avatar?
据我所知,当时的问题是 Discourse 内部组件之间存在某种不兼容。我是否也可能遇到类似情况?说实话,我本以为 Discourse 的问题会影响更多安装实例,但上述问题也只涉及一位报告者。
非常感谢您的帮助 
Vasiliy
(Vasiliy Zukanov)
6
@sam
图片是本地存储的。在图片 URL 末尾添加 ?a 并未解决问题。
有趣的是,我仍然可以在偏好设置页面看到自己的头像(但其他用户则不行)。从 URL 层面来看,出现了以下情况:
- 主页上我的头像 URL 解析为默认占位符(即使加了
?a):https://forum.techyourchance.com/user_avatar/forum.techyourchance.com/vasiliy/45/2_2.png?a
- 偏好设置页面中我的头像 URL 解析为正确的图片:
https://forum.techyourchance.com/user_avatar/forum.techyourchance.com/vasiliy/120/2_2.png
我尝试为单个用户修复此问题。将头像切换为字母,再切换为自定义图片,最后又改回 Gravatar,但均未奏效。
我还遇到了另一个问题。看起来与上述问题无关,但由于同时出现两个独立问题的概率极低,我怀疑它们之间存在关联。
论坛不再向用户发送邀请(过去是可以的)。
我邀请了几位用户,但他们都没有收到邀请。于是我用另一个邮箱给自己发了邀请,同样没有收到。现在我有一些待处理的邀请:
我立刻想到问题可能出在与 Mailgun 的集成上,甚至是邮件送达率问题。于是我给自己发了一封测试邮件,邮件立即收到了。查看已发送邮件页面,我看到以下内容:
论坛发送了测试邮件,但没有发送邀请邮件。
至此,我认为我的 Discourse 安装出现了严重问题。很可能是我在不知情的情况下自己造成的。我已经在最糟糕的时候(正在启动我的新社区)为此挣扎了数小时。因此,我将直接重新干净安装 Discourse,不恢复备份,并重新邀请所有用户。幸运的是,目前用户不多,论坛内容也很少。
我会暂时保留带有旧安装的 Droplet,以防您需要更多信息。如果您认为值得进一步调查,我甚至不介意通过 SSH 为您提供访问权限。
感谢您的帮助。希望重新安装能解决问题。
neounix
(Dark Matter)
8
嗨 @Vasiliy
在为此问题构建全新实例之前,你可能可以先检查一下作业调度器(Sidekiq),看看它是否正常运行、是否存在失败的任务、作业队列是否积压等。
your.cooldiscoursesite.com/sidekiq
仅供参考……
另外,你也可以考虑查看 Rails 日志,尤其是错误日志。
Vasiliy
(Vasiliy Zukanov)
9
@neounix
感谢你的建议。
我现在没法再花更多时间调试这个问题了,所以我已经创建了一个新论坛。目前运行正常。
说实话,我有点觉得自己很蠢,竟然没想到去检查日志。倒不是指望自己能看懂日志内容,但我本应该把它们附在报告里。好吧,亡羊补牢为时未晚。现在附上 rails 目录下的所有日志。
我用 grep 简单查了一下,里面确实有一些错误信息。不过,我不明白这些信息的含义,也不确定它们是否与当前问题相关。可能更有经验的成员能更好地分析这些日志。