Site nach Upgrade von 3.4.0 auf 3.4.1 nicht zugänglich

Hallo zusammen,

ich habe gerade meine Discourse-Instanz von Version 3.4.0 auf 3.4.1 aktualisiert (mit ./launcher rebuild app). Das Update verlief reibungslos – keine Fehler während des Prozesses, und der Docker-Container läuft. Allerdings ist die Website überhaupt nicht erreichbar.

Ist dieses Problem schon einmal aufgetreten? Irgendwelche Ideen zur Fehlerbehebung? Wie kann ich Ihnen weitere Informationen geben?

Vielen Dank im Voraus für Ihre Hilfe!

Hallo,

Haben Sie versucht, es ein zweites Mal neu zu erstellen?
Es gibt Situationen, in denen das helfen kann. Ich würde zuerst das versuchen.

Sie können auch ./launcher logs app und /shared/standalone/log/rails/production.log ansehen, wenn Sie etwas Interessantes bemerken.

1 „Gefällt mir“

Wir experimentieren mit einem KI-Antwortsystem, das hier Flüstern liefert. In diesem Fall enthielt es einige vernünftige Ratschläge:

Hallo, es sieht so aus, als ob Ihr Problem durch die Untersuchung der Serverprotokolle zur Diagnose von Problemen nach dem Upgrade gelöst werden könnte. Hier ist, wie Sie vorgehen können:

  1. Überprüfen Sie die Discourse-Fehlerprotokolle in der Admin-Oberfläche:

    • Wenn Sie Administratorzugriff haben und die Website noch teilweise erreichbar ist, können Sie die Protokolle über das Admin-Panel überprüfen. Navigieren Sie zu /logs, um Fehlermeldungen zu finden.
  2. Andere Serverprotokolle inspizieren:

    • Führen Sie die folgenden Befehle auf Ihrem Server aus:
      cd /var/discourse
      ./launcher enter app
      cd /shared/log/rails
      less production.log
      
    • Verwenden Sie less oder ähnliche Tools, um die Protokolle zu lesen und potenzielle Fehler zu identifizieren.
  3. NGINX-Protokolle überprüfen:

    • Sie können die NGINX-Protokolle auf Webserverfehler überprüfen mit:
      cd /var/discourse
      ./launcher enter app
      cd /var/log/nginx
      less error.log
      
  4. Netzwerk- und DNS-Probleme:

    • Führen Sie Tests durch, um sicherzustellen, dass die DNS-Auflösung Ihrer Domain korrekt ist und Ports wie 443 und 80 zugänglich sind.

Teilen Sie uns mit, was Sie in den Protokollen finden, und wir können Ihnen spezifischere Ratschläge zur Lösung des Problems geben.

Hilfreiche Ressourcen:

Zusätzlicher Kontext:
Wenn das Problem weiterhin besteht, können häufige Ursachen sein:

  • Eine Plugin-Inkompatibilität nach dem Upgrade.
  • Unzureichender Speicherplatz/Arbeitsspeicher während des Wiederaufbaus.
  • Konfigurationsänderungen in app.yml.
2 „Gefällt mir“

Danke!

Ja, und dasselbe Ergebnis

Hier sind die Protokolle:

[default] start
[default] done
[default] Shutting down
[default] Terminating quiet threads
[default] Scheduler exiting...
[default] Pausing to allow jobs to finish...
[default] Bye!
[default] [PrettyText] Deprecation notice: `registerOption() from `pretty-text` is deprecated. Use `helper.registerOptions()` instead. [deprecated since Discourse 2.8.0.beta9] [removal in Discourse 2.9.0.beta1] [deprecation id: discourse.pretty-text.registerOption]
[default] Booting Sidekiq 6.5.12 with Sidekiq::RedisConnection::RedisAdapter options {:host=>"data", :port=>6379, :namespace=>"sidekiq"}
[default] [PrettyText] Deprecation notice: `registerOption() from `pretty-text` is deprecated. Use `helper.registerOptions()` instead. [deprecated since Discourse 2.8.0.beta9] [removal in Discourse 2.9.0.beta1] [deprecation id: discourse.pretty-text.registerOption]
[default] [PrettyText] Deprecation notice: `registerOption() from `pretty-text` is deprecated. Use `helper.registerOptions()` instead. [deprecated since Discourse 2.8.0.beta9] [removal in Discourse 2.9.0.beta1] [deprecation id: discourse.pretty-text.registerOption]
[default] [PrettyText] Deprecation notice: `registerOption() from `pretty-text` is deprecated. Use `helper.registerOptions()` instead. [deprecated since Discourse 2.8.0.beta9] [removal in Discourse 2.9.0.beta1] [deprecation id: discourse.pretty-text.registerOption]
[default] [PrettyText] Deprecation notice: `registerOption() from `pretty-text` is deprecated. Use `helper.registerOptions()` instead. [deprecated since Discourse 2.8.0.beta9] [removal in Discourse 2.9.0.beta1] [deprecation id: discourse.pretty-text.registerOption]
[default] Booted Rails 7.2.2.1 application in production environment
[default] Running in ruby 3.3.6 (2024-11-05 revision 75015d4c1f) [x86_64-linux]
[default] See LICENSE and the LGPL-3.0 for licensing details.
[default] Upgrade to Sidekiq Pro for more features and support: https://sidekiq.org
[default] start
[default] done
root@forum-web-only:/shared/log/rails#

Hier sind die NGINX-Protokolle:

2025/03/07 22:13:42 [warn] 2195#2195: duplicate extension "wasm", content type: "application/wasm", previous content type: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
2025/03/07 22:13:42 [emerg] 2195#2195: unknown "public" variable
2025/03/07 22:13:43 [warn] 2198#2198: duplicate extension "wasm", content type: "application/wasm", previous content type: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
2025/03/07 22:13:43 [emerg] 2198#2198: unknown "public" variable
2025/03/07 22:13:44 [warn] 2200#2200: duplicate extension "wasm", content type: "application/wasm", previous content type: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
2025/03/07 22:13:44 [emerg] 2200#2200: unknown "public" variable
2025/03/07 22:13:45 [warn] 2202#2202: duplicate extension "wasm", content type: "application/wasm", previous content type: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
2025/03/07 22:13:45 [emerg] 2202#2202: unknown "public" variable
2025/03/07 22:13:46 [warn] 2204#2204: duplicate extension "wasm", content type: "application/wasm", previous content type: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
2025/03/07 22:13:46 [emerg] 2204#2204: unknown "public" variable

Hier sind die discourse-doctor-Protokolle:

DISCOURSE DOCTOR Fri 07 Mar 2025 10:15:28 PM UTC
OS: Linux forum 5.4.0-208-generic #228-Ubuntu SMP Fri Feb 7 19:41:33 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux


YML=web_only.yml
Found containers/web_only.yml

==================== YML SETTINGS ====================
DISCOURSE_HOSTNAME=forum.pragmaticentrepreneurs.com
SMTP_ADDRESS=smtp.eu.mailgun.org
DEVELOPER_EMAILS=REDACTED

==================== YML SETTINGS ====================
DISCOURSE_HOSTNAME=forum.pragmaticentrepreneurs.com
SMTP_ADDRESS=smtp.eu.mailgun.org
DEVELOPER_EMAILS=REDACTED
SMTP_PASSWORD=REDACTED
SMTP_PORT=587
SMTP_USER_NAME=postmaster@mg.pragmaticentrepreneurs.com
LETSENCRYPT_ACCOUNT_EMAIL=REDACTED

==================== DOCKER INFO ====================
DOCKER VERSION: Docker version 27.3.1, build ce12230

DOCKER PROCESSES (docker ps -a)

CONTAINER ID   IMAGE                      COMMAND        CREATED         STATUS         PORTS                                       NAMES
d5a81b9154f4   local_discourse/web_only   "/sbin/boot"   6 minutes ago   Up 6 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   web_only
0b49a4b64386   local_discourse/data       "/sbin/boot"   19 months ago   Up 22 hours                                                 data


Discourse container web_only is running


==================== PLUGINS ====================
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-akismet.git
          - git clone https://github.com/discourse/discourse-data-explorer.git
          - git clone https://github.com/camilleroux/discourse-affiliate.git
          - git clone https://github.com/somoza/discourse-xorigin.git
          - git clone https://github.com/discourse/discourse-chat-integration.git

WARNING:
You have what appear to be non-official plugins.
If you are having trouble, you should disable them and try rebuilding again.

See https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb for the official list.

========================================
Discourse version at forum.pragmaticentrepreneurs.com: NOT FOUND
Discourse version at localhost: NOT FOUND


==================== MEMORY INFORMATION ====================
OS: Linux
RAM (MB): 2067

              total        used        free      shared  buff/cache   available
Mem:           1971         988         101         178         881         627
Swap:          2047         190        1857

==================== DISK SPACE CHECK ====================
---------- OS Disk Space ----------
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        49G   39G   11G  80% /

==================== DISK INFORMATION ====================
Disk /dev/loop0: 55.37 MiB, 58052608 bytes, 113384 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

Disk /dev/loop1: 63.76 MiB, 66842624 bytes, 130552 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

Disk /dev/loop2: 55.37 MiB, 58052608 bytes, 113384 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

Disk /dev/loop3: 91.85 MiB, 96292864 bytes, 188072 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

Disk /dev/loop4: 91.9 MiB, 96346112 bytes, 188176 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

Disk /dev/loop5: 63.71 MiB, 66789376 bytes, 130448 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

Disk /dev/loop6: 44.45 MiB, 46596096 bytes, 91008 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

Disk /dev/loop7: 44.46 MiB, 46604288 bytes, 91024 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

Disk /dev/vda: 50 GiB, 53687091200 bytes, 104857600 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: 603625F3-7AE2-40CB-B05E-0BD7EA2D57E4

Device      Start       End   Sectors  Size Type
/dev/vda1  227328 104857566 104630239 49.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/
Sending mail to REDACTED  . .
Testing sending to  using smtp.eu.mailgun.org:587, username:*** with plain auth.
SMTP server connection successful.
Sending to . . .
Mail was not sent.

Reason: 501 Invalid command or cannot parse to address

==================== DONE! ====================

Liefert das mehr Informationen?

1 „Gefällt mir“

Hallo! Sieht jemand, wie ich das beheben könnte? Vielen Dank :folded_hands:

1 „Gefällt mir“

Bei mir funktioniert es. Vielleicht, weil ich nicht angemeldet bin. Sie könnten es also vielleicht im abgesicherten Modus versuchen.

Eines Ihrer Plugins ist inoffiziell und sehr alt, es ist ein Fork eines aktuelleren:

Hallo! Danke für deine Hilfe. Ich habe weiter recherchiert.

Kontext:

Tests:

  • Gleiches Problem, wenn ich versuche, nur die wesentlichen und offiziellen Plugins beizubehalten.
  • 3.4.2 behebt das Problem nicht; gleiches Ergebnis wie bei 3.4.0.
  • Ich kann nicht auf den abgesicherten Modus zugreifen, da die Website nach dem Neuerstellen nicht zugänglich ist.
  • Wenn ich den Snapshot mit 3.4.0 wiederherstelle, funktioniert er wieder.

Das Problem hängt wahrscheinlich damit zusammen, dass in meinen NGINX-Protokollen:

Es scheint mit SSL zusammenzuhängen, aber dieses Problem sieht nicht wie meins aus: How to solve error duplicate extension "wasm"

Siehst du, woher das Problem kommt?

Normalerweise wird die Ursache angezeigt, wenn bei einem Neuerstellungsprozess etwas schiefgeht. Versuchen Sie, den Prozess erneut zu starten und scrollen Sie nach Abschluss nach oben, um nach der Fehlermeldung zu suchen.

Wenn Sie nicht weiterkommen, können Sie mit einem neuen VPS neu beginnen, Ihr Backup wiederherstellen und es erneut versuchen.

Sie können im Marketplace nach bezahlter Hilfe fragen, wenn dies dringend ist. Oder erwägen Sie offizielles Discourse-Hosting! Nach dem Start Ihres Testzeitraums können Sie Ihr Backup wiederherstellen und Ihre Community im Handumdrehen wieder zum Laufen bringen.