Ich habe gesucht, konnte aber keine grundlegende Übersicht finden, wie man unsere Uploads von DigitalOcean zu S3 verschiebt. Ich habe vor einigen Monaten erfolgreich S3 für neue Uploads und unsere Backups eingerichtet. Ich möchte nun den Rest unserer Uploads (~1,4 GB) zu S3 verschieben.
Dies war von Anfang an eine Umstellung von SMF2. Wir haben jetzt zwei Upload-Ordner: einen im Root-Verzeichnis von SMF2 und einen in /var/discourse. Das SMF2-Verzeichnis ist 2,8 GB groß. Ich vermute, dass es hier zwei Schritte gibt? Muss ich separate Schritte durchführen, um den Ordner von SMF2 und den Ordner von /var/discourse zu verschieben?
Ich bin auf „rake to s3" gestoßen, konnte aber keine Anleitung finden, außer dass viele Leute über Fehler berichten, die sie erlebt haben, und Vorschläge zur Behebung machen. Gibt es eine Anleitung?
Bitte lies diesen Artikel, er sollte dich anleiten, wie du die Aufgabe einrichtest.
Du solltest den Konfigurationsbereich für den Abschnitt hooks überprüfen und den Bucket mithilfe von Umgebungsvariablen einrichten, um die Probleme zu vermeiden, von denen du bereits gelesen hast.
Das Einzige, was mir dabei nicht bekannt ist, ist ein CDN. Ich sehe, dass wir Amazon CloudFront verwenden können. Ich vermute, dass dies bei den vorherigen S3-Einrichtungsschritten noch nicht konfiguriert wurde. Ich werde nach einer Anleitung suchen, wie man das einrichtet.
Du kannst Cloudfront einrichten, indem du deinen Upload-Bucket als Ursprung verwendest. Sobald es eingerichtet ist, kannst du es als S3-CDN-Link festlegen. Das ist alles, was zu tun ist.
OK, die Seite wurde neu aufgebaut und die S3-Einrichtungsschritte wurden befolgt.
Alles sollte jetzt von S3 geladen werden. Wie kann ich das überprüfen? Kann ich jetzt das alte Upload-Verzeichnis auf meinem Droplet löschen, um Speicherplatz freizugeben?
Der Upload nach S3 sollte während des Neuaufbaus erfolgen. Du solltest in der Lage sein, die Website-Assets in den S3-Buckets zu durchsuchen, und alle Website-Assets sollten von dem bereitgestellten S3- oder CDN-Link geladen werden. Wenn es nicht funktioniert, ist definitiv etwas mit deiner Konfiguration falsch. Bekommst du irgendwelche Fehlermeldungen?
Ich vermute, dass dann etwas schiefgelaufen sein könnte. Mein Neuaufbau dauerte nicht lange genug, um währenddessen mehrere GB Daten hochzuladen.
EDIT:
Alle Uploads von vor einigen Monaten wurden bereits an S3 gesendet. Es geht mir um die veralteten Daten vor dem Wechsel zu S3, die ich verschieben möchte.
Denken Sie daran, dass Server in Bezug auf die Geschwindigkeit um Größenordnungen schneller sind als Ihre Breitbandverbindung. Das Hochladen der Bilder von Ihrem Host nach S3 sollte nicht länger als ein paar Minuten dauern. Sie sollten jedoch das Rebuild-Protokoll sorgfältig prüfen, um zu bestätigen, ob die Uploads durchgeführt wurden oder nicht. Alternativ können Sie ./discourse-doctor ausführen, um ein Protokoll zur Überprüfung zu erstellen.
Das Einzige, was mir auffällt, ist im DNS-Bereich fett markiert.
> root@discourse:/var/discourse# ./discourse-doctor
> DISCOURSE DOCTOR Thu May 14 11:35:17 UTC 2020
> OS: Linux discourse 4.15.0-99-generic #100-Ubuntu SMP Wed Apr 22 20:32:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
>
>
> Found containers/app.yml
>
> ==================== YML SETTINGS ====================
> DISCOURSE_HOSTNAME=
> SMTP_ADDRESS=
> DEVELOPER_EMAILS=
> SMTP_PASSWORD=
> SMTP_PORT=
> SMTP_USER_NAME=
> LETSENCRYPT_ACCOUNT_EMAIL=
>
> ==================== DOCKER INFO ====================
> DOCKER VERSION: Docker version 18.09.6, build 481bc77
>
> DOCKER PROCESSES (docker ps -a)
>
> CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
> db900fc77ebe local_discourse/app "/sbin/boot" 15 hours ago Up 15 hours 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp app
>
> db900fc77ebe local_discourse/app "/sbin/boot" 15 hours ago Up 15 hours 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp app
>
> Discourse container app is running
>
>
> ==================== PLUGINS ====================
> exec: {cd: $home/plugins, cmd: ['git clone https://github.com/discourse/docker_manager.git', 'git clone https://github.com/procourse/procourse-static-pages.git', 'git clone https://github.com/discourse/discourse-bbcode.git', 'git clone https://github.com/discourse/discourse-adplugin.git']}
>
> No non-official plugins detected.
>
> See https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb for the official list.
>
> ========================================
> Discourse version at : NOT FOUND
> Discourse version at localhost: Discourse 2.5.0.beta4
**> ==================== DNS PROBLEM ====================**
**> This server reports Discourse 2.5.0.beta4 , but reports NOT FOUND.**
**> This suggests that you have a DNS problem or that an intermediate proxy is to blame.**
**> If you are using Cloudflare, or a CDN, it may be improperly configured.**
>
>
> ==================== MEMORY INFORMATION ====================
> RAM (MB): 1008
>
> total used free shared buff/cache available
> Mem: 985 636 69 121 279 88
> Swap: 2047 775 1272
>
> ==================== DISK SPACE CHECK ====================
> ---------- OS Disk Space ----------
> Filesystem Size Used Avail Use% Mounted on
> /dev/vda1 25G 20G 4.8G 81% /
>
> ---------- Container Disk Space ----------
> Filesystem Size Used Avail Use% Mounted on
> overlay 25G 20G 4.8G 81% /
> /dev/vda1 25G 20G 4.8G 81% /shared
> /dev/vda1 25G 20G 4.8G 81% /var/log
>
> ==================== DISK INFORMATION ====================
> Disk /dev/vda: 25 GiB, 26843545600 bytes, 52428800 sectors
> Units: sectors of 1 * 512 = 512 bytes
> Sector size (logical/physical): 512 bytes / 512 bytes
> I/O size (minimum/optimal): 512 bytes / 512 bytes
> Disklabel type: gpt
> Disk identifier: 02CBFCD2-7495-4A08-A11B-28E7D3872FAA
>
> Device Start End Sectors Size Type
> /dev/vda1 227328 52428766 52201439 24.9G Linux filesystem
> /dev/vda14 2048 10239 8192 4M BIOS boot
> /dev/vda15 10240 227327 217088 106M Microsoft basic data
>
> Partition table entries are not in disk order.
>
> ==================== END DISK INFORMATION ====================
>
> ==================== MAIL TEST ====================
> For a robust test, get an address from http://www.mail-tester.com/
> Or just send a test message to yourself.
> Email address for mail test? ('n' to skip) []: n
> Mail test skipped.
> Replacing: SMTP_PASSWORD
> Replacing: LETSENCRYPT_ACCOUNT_EMAIL
> Replacing: DEVELOPER_EMAILS
> Replacing: DISCOURSE_DB_PASSWORD
> Replacing: Sending mail to
>
> ==================== DONE! ====================
> Would you like to serve a publicly available version of this file? (Y/n)n
> root@discourse:/var/discourse#
Wow, das war nicht hilfreich. Du hast n gewählt für
Kannst du eine öffentlich zugängliche Version erstellen? Du kannst den Link in einer Direktnachricht teilen. Vielleicht kann ich dann überprüfen, ob die Migration zu S3 aus irgendeinem Grund erfolgreich war oder gescheitert ist.