在设置 S3 凭证进行备份后,我无法访问该站点。除了这一步之外,我没有进行其他任何更改。
1 个赞
您可以查看 /var/discourse/shared/log/rails/production.log(或类似路径)以查看错误信息。
您可能需要执行以下操作:
cd /var/discourse
./launcher enter app
rails c
# 然后执行类似如下命令
SiteSetting.backup_location='local'
但 S3 备份与此问题无关,而您的磁盘已满,这可能只是巧合。
6 个赞
谢谢。我试过了,但无法修复。错误日志如下:
ActionView::Template::Error (s3_upload_bucket)
/var/www/discourse/lib/file_store/s3_store.rb:153:in `s3_bucket'
Started HEAD "/" for 35.111.111.163 at 2020-03-05 06:34:08 +0000
Processing by ListController#latest as HTML
Rendering list/list.erb within layouts/application
Rendered list/list.erb within layouts/application (Duration: 6.1ms | Allocations: 2278)
Rendered layouts/_head.html.erb (Duration: 0.2ms | Allocations: 102)
Rendered common/_google_universal_analytics.html.erb (Duration: 0.2ms | Allocations: 79)
Rendered common/_discourse_stylesheet.html.erb (Duration: 0.4ms | Allocations: 200)
Completed 500 Internal Server Error in 60ms (ActiveRecord: 0.0ms | Allocations: 17538)
ActionView::Template::Error (s3_upload_bucket)
/var/www/discourse/lib/file_store/s3_store.rb:153:in `s3_bucket'
还有 5 GB 的可用空间。
我建议在 Rails 控制台中禁用 S3 设置。我在上面尝试给出了一个示例。您可能需要在此处搜索更多示例。
1 个赞
您未设置 s3_upload_bucket 参数。
只需执行以下操作:
cd /var/discourse
./launcher enter app
rails c
SiteSetting.s3_upload_bucket = 'thenameofyourbucket'
请将最后一行修改为您实际的 S3 存储桶名称。
5 个赞
谢谢,问题已解决。但为什么会发生这种情况?因为我只想使用 S3 进行备份,所以没有为 上传 设置任何存储桶。这是正常现象还是 Bug?
我仅在启用 enable_s3_uploads 时才能复现此问题。
我认为发生的情况如下,并导致了 Oops 屏幕的出现:
- 你添加了
s3 access key id和s3 secret access key - 你配置了
s3_upload_bucket - 你启用了
enable_s3_uploads - 你将
backup_location设置为 s3 - 你必须设置一个
s3_backup_bucket,并将其设置为与上传桶相同的桶 - 这会报错:你不能为 ‘s3_upload_bucket’ 和 ‘s3_backup_bucket’ 使用相同的存储桶。请为每个存储桶选择不同的存储桶或使用不同的路径。
- 你清空了
s3_upload_bucket,以便可以使用s3_backup_bucket - 但你没有关闭
enable_s3_uploads
该 Bug 在于:启用 enable_s3_uploads 需要配置 s3_upload_bucket,但在 S3 上传仍启用的情况下清空该设置会导致论坛崩溃。
7 个赞
有什么办法可以修复上面的问题吗,@eviltrout?
1 个赞
已有验证机制可防止此情况:
但该机制未涵盖在启用上传功能的同时将存储桶清空的情况。
2 个赞
这应该就可以了:
3 个赞
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
