Ich kann nach der Einrichtung der S3-Anmeldeinformationen für das Backup nicht mehr auf die Site zugreifen. Ich habe nichts anderes daran geändert.
Du kannst in /var/discourse/shared/log/rails/production.log (oder etwas Ähnlichem) nachsehen und den Fehler finden.
Vielleicht musst du
cd /var/discourse
./launcher enter app
rails c
# und dann etwas wie
SiteSetting.backup_location='local'
ausführen.
Es könnte aber auch ein Zufall sein, dass S3-Backups nichts damit zu tun haben und deine Festplatte voll ist.
Danke. Ich habe es versucht, aber ich kann es nicht beheben. Das Fehlerprotokoll steht unten.
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'
Es sind noch 5 GB Speicherplatz frei.
Ich würde die S3-Einstellungen über die Rails-Konsole deaktivieren. Ich habe oben ein Beispiel gegeben. Vielleicht musst du hier nach weiteren Beispielen suchen.
Du hast den Parameter s3_upload_bucket nicht festgelegt.
Führe einfach Folgendes aus:
cd /var/discourse
./launcher enter app
rails c
SiteSetting.s3_upload_bucket = 'thenameofyourbucket'
Ändere dabei die letzte Zeile so, dass sie den tatsächlichen Namen deines S3-Buckets enthält.
Vielen Dank. Das hat das Problem behoben. Aber warum ist das passiert? Weil ich S3 nur für Backups verwenden wollte, habe ich keinen Bucket für Uploads angegeben. Ist das normal oder ein Fehler?
Ich kann dieses Problem nur reproduzieren, wenn enable_s3_uploads aktiviert ist.
Ich vermute, dass folgendes passiert ist und zu einem Oops-Bildschirm führt:
- Sie haben die
s3 access key idund dens3 secret access keyhinzugefügt. - Sie haben einen
s3_upload_bucketkonfiguriert. - Sie haben
enable_s3_uploadsaktiviert. - Sie haben den
backup_locationauf S3 gesetzt. - Sie mussten einen
s3_backup_bucketfestlegen und haben ihn auf denselben Bucket gesetzt. - Dies führt zu der Fehlermeldung: Sie können denselben Bucket nicht für ‘s3_upload_bucket’ und ‘s3_backup_bucket’ verwenden. Wählen Sie einen anderen Bucket oder verwenden Sie für jeden Bucket einen anderen Pfad.
- Sie haben den
s3_upload_bucketgeleert, damit Sie dens3_backup_bucketverwenden können. - Sie haben
enable_s3_uploadsnicht deaktiviert.
Der Fehler besteht darin, dass das Aktivieren von enable_s3_uploads einen s3_upload_bucket erfordert. Wenn diese Einstellung jedoch geleert wird, während S3-Uploads noch aktiviert sind, stürzt das Forum ab.
Gibt es etwas, das wir tun können, um das oben Genannte zu beheben, @eviltrout?
Es ist bereits eine Validierung vorhanden, um dies zu verhindern:
Sie deckt jedoch nicht den Fall ab, in dem Sie den Bucket leeren, während Uploads aktiviert bleiben.
Das sollte es tun:
