Website nach Wiederaufbau offline (4. Feb 2025)

Ich habe diese Nachricht nach einem kürzlichen Rebuild gesehen. Ich habe dann ./launcher rebuild app ausgeführt, aber danach war meine Instanz nicht mehr erreichbar. Es ist eine Standardinstallation – wie kann ich feststellen, was passiert ist?

Fehler, wenn ich ./launcher logs app ausführe

cd /var/discourse
./launcher logs app
x86_64 arch detected.
run-parts: executing /etc/runit/1.d/00-ensure-links
run-parts: executing /etc/runit/1.d/00-fix-var-logs
run-parts: executing /etc/runit/1.d/01-cleanup-web-pids
run-parts: executing /etc/runit/1.d/anacron
run-parts: executing /etc/runit/1.d/cleanup-pids
Cleaning stale PID files
run-parts: executing /etc/runit/1.d/copy-env
run-parts: executing /etc/runit/1.d/letsencrypt
[Tue Feb  4 05:38:16 PM UTC 2025] Domains not changed.
[Tue Feb  4 05:38:16 PM UTC 2025] Skip, Next renewal time is: 2025-03-02T20:15:28Z
[Tue Feb  4 05:38:16 PM UTC 2025] Add '--force' to force to renew.
[Tue Feb  4 05:38:17 PM UTC 2025] Installing key to: /shared/ssl/mydomain.com.key
[Tue Feb  4 05:38:17 PM UTC 2025] Installing full chain to: /shared/ssl/mydomain.com.cer
[Tue Feb  4 05:38:17 PM UTC 2025] Run reload cmd: sv reload nginx
warning: nginx: unable to open supervise/ok: file does not exist
[Tue Feb  4 05:38:17 PM UTC 2025] Reload error for :
[Tue Feb  4 05:38:17 PM UTC 2025] Domains not changed.
[Tue Feb  4 05:38:17 PM UTC 2025] Skip, Next renewal time is: 2025-03-02T20:15:33Z
[Tue Feb  4 05:38:17 PM UTC 2025] Add '--force' to force to renew.
[Tue Feb  4 05:38:18 PM UTC 2025] Installing key to: /shared/ssl/mydomain.com_ecc.key
[Tue Feb  4 05:38:18 PM UTC 2025] Installing full chain to: /shared/ssl/mydomain.com_ecc.cer
[Tue Feb  4 05:38:18 PM UTC 2025] Run reload cmd: sv reload nginx
warning: nginx: unable to open supervise/ok: file does not exist
[Tue Feb  4 05:38:18 PM UTC 2025] Reload error for :
Started runsvdir, PID is 567
ok: run: redis: (pid 577) 0s
ok: run: postgres: (pid 581) 0s
nginx: [warn] duplicate extension "wasm", content type: "application/wasm", previous content type: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
supervisor pid: 575 unicorn pid: 607
Shutting Down
run-parts: executing /etc/runit/3.d/01-nginx
ok: down: nginx: 1s, normally up
run-parts: executing /etc/runit/3.d/02-unicorn
(575) exiting
ok: down: unicorn: 0s, normally up
run-parts: executing /etc/runit/3.d/10-redis
ok: down: redis: 1s, normally up
run-parts: executing /etc/runit/3.d/99-postgres
ok: down: postgres: 0s, normally up
ok: down: nginx: 5s, normally up
ok: down: postgres: 1s, normally up
ok: down: redis: 3s, normally up
ok: down: cron: 0s, normally up
ok: down: unicorn: 4s, normally up
ok: down: rsyslog: 0s, normally up
run-parts: executing /etc/runit/1.d/00-ensure-links
run-parts: executing /etc/runit/1.d/00-fix-var-logs
run-parts: executing /etc/runit/1.d/01-cleanup-web-pids
run-parts: executing /etc/runit/1.d/anacron
run-parts: executing /etc/runit/1.d/cleanup-pids
Cleaning stale PID files
run-parts: executing /etc/runit/1.d/copy-env
run-parts: executing /etc/runit/1.d/letsencrypt
[Tue Feb  4 05:58:32 PM UTC 2025] Domains not changed.
[Tue Feb  4 05:58:32 PM UTC 2025] Skip, Next renewal time is: 2025-03-02T20:15:28Z
[Tue Feb  4 05:58:32 PM UTC 2025] Add '--force' to force to renew.
[Tue Feb  4 05:58:32 PM UTC 2025] Installing key to: /shared/ssl/mydomain.com.key
[Tue Feb  4 05:58:32 PM UTC 2025] Installing full chain to: /shared/ssl/mydomain.com.cer
[Tue Feb  4 05:58:32 PM UTC 2025] Run reload cmd: sv reload nginx
fail: nginx: runsv not running
[Tue Feb  4 05:58:32 PM UTC 2025] Reload error for :
[Tue Feb  4 05:58:32 PM UTC 2025] Domains not changed.
[Tue Feb  4 05:58:32 PM UTC 2025] Skip, Next renewal time is: 2025-03-02T20:15:33Z
[Tue Feb  4 05:58:32 PM UTC 2025] Add '--force' to force to renew.
[Tue Feb  4 05:58:32 PM UTC 2025] Installing key to: /shared/ssl/mydomain.com_ecc.key
[Tue Feb  4 05:58:32 PM UTC 2025] Installing full chain to: /shared/ssl/mydomain.com_ecc.cer
[Tue Feb  4 05:58:32 PM UTC 2025] Run reload cmd: sv reload nginx
fail: nginx: runsv not running
[Tue Feb  4 05:58:32 PM UTC 2025] Reload error for :
Started runsvdir, PID is 561
ok: run: redis: (pid 575) 0s
nginx: [warn] duplicate extension "wasm", content type: "application/wasm", previous content type: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
ok: run: postgres: (pid 580) 1s
supervisor pid: 570 unicorn pid: 601
Shutting Down
run-parts: executing /etc/runit/3.d/01-nginx
ok: down: nginx: 0s, normally up
run-parts: executing /etc/runit/3.d/02-unicorn
(570) exiting
ok: down: unicorn: 1s, normally up
run-parts: executing /etc/runit/3.d/10-redis
ok: down: redis: 0s, normally up
run-parts: executing /etc/runit/3.d/99-postgres
ok: down: postgres: 0s, normally up
ok: down: nginx: 3s, normally up
ok: down: postgres: 1s, normally up
ok: down: redis: 1s, normally up
ok: down: cron: 0s, normally up
ok: down: unicorn: 3s, normally up
ok: down: rsyslog: 0s, normally up
run-parts: executing /etc/runit/1.d/00-ensure-links
run-parts: executing /etc/runit/1.d/00-fix-var-logs
run-parts: executing /etc/runit/1.d/01-cleanup-web-pids
run-parts: executing /etc/runit/1.d/anacron
run-parts: executing /etc/runit/1.d/cleanup-pids
Cleaning stale PID files
run-parts: executing /etc/runit/1.d/copy-env
run-parts: executing /etc/runit/1.d/letsencrypt
[Tue Feb  4 06:01:07 PM UTC 2025] Domains not changed.
[Tue Feb  4 06:01:07 PM UTC 2025] Skip, Next renewal time is: 2025-03-02T20:15:28Z
[Tue Feb  4 06:01:07 PM UTC 2025] Add '--force' to force to renew.
[Tue Feb  4 06:01:07 PM UTC 2025] Installing key to: /shared/ssl/mydomain.com.key
[Tue Feb  4 06:01:07 PM UTC 2025] Installing full chain to: /shared/ssl/mydomain.com.cer
[Tue Feb  4 06:01:07 PM UTC 2025] Run reload cmd: sv reload nginx
fail: nginx: runsv not running
[Tue Feb  4 06:01:07 PM UTC 2025] Reload error for :
[Tue Feb  4 06:01:07 PM UTC 2025] Domains not changed.
[Tue Feb  4 06:01:07 PM UTC 2025] Skip, Next renewal time is: 2025-03-02T20:15:33Z
[Tue Feb  4 06:01:07 PM UTC 2025] Add '--force' to force to renew.
[Tue Feb  4 06:01:07 PM UTC 2025] Installing key to: /shared/ssl/mydomain.com_ecc.key
[Tue Feb  4 06:01:07 PM UTC 2025] Installing full chain to: /shared/ssl/mydomain.com_ecc.cer
[Tue Feb  4 06:01:07 PM UTC 2025] Run reload cmd: sv reload nginx
fail: nginx: runsv not running
[Tue Feb  4 06:01:07 PM UTC 2025] Reload error for :
Started runsvdir, PID is 561
ok: run: redis: (pid 575) 0s
ok: run: postgres: (pid 576) 0s
nginx: [warn] duplicate extension "wasm", content type: "application/wasm", previous content type: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
supervisor pid: 570 unicorn pid: 601
(570) exiting
nginx: [warn] duplicate extension "wasm", content type: "application/wasm", previous content type: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
3 „Gefällt mir“

Alles lief reibungslos. Ich sah Folgendes und baute neu auf. Der Build wurde ohne Fehler abgeschlossen, aber meine Seite lässt sich nicht öffnen.

-------------------------------------------------------------------------------------
UPGRADE VON POSTGRES ABGESCHLOSSEN

Die alte 13-Datenbank wird unter /shared/postgres_data_old gespeichert

Um das Upgrade abzuschließen, bauen Sie erneut mit:

./launcher rebuild app
-------------------------------------------------------------------------------------

Wenn ich dies ausführe
tail /var/discourse/shared/standalone/log/var-log/postgres/current
Ausgabe

2025-02-04 18:11:50.943 UTC [573] LOG:  Herunterfahren
2025-02-04 18:11:50.945 UTC [573] LOG:  Checkpoint wird gestartet: sofortiges Herunterfahren
2025-02-04 18:11:50.970 UTC [573] LOG:  Checkpoint abgeschlossen: 139 Puffer geschrieben (0.0%); 0 WAL-Datei(n) hinzugefügt, 0 entfernt, 0 recycelt; Schreibzeit=0.017 s, Synchronisationszeit=0.005 s, Gesamtzeit=0.027 s; Dateisynchronisationen=27, längste=0.002 s, Durchschnitt=0.001 s; Entfernung=410 kB, Schätzung=410 kB
2025-02-04 18:11:51.034 UTC [547] LOG:  Datenbanksystem ist heruntergefahren
2025-02-04 18:15:04.302 UTC [548] LOG:  PostgreSQL 15.10 (Debian 15.10-1.pgdg120+1) wird gestartet auf x86_64-pc-linux-gnu, kompiliert von gcc (Debian 12.2.0-14) 12.2.0
2025-02-04 18:15:04.303 UTC [548] LOG:  hört auf IPv4-Adresse "0.0.0.0", Port 5432
2025-02-04 18:15:04.303 UTC [548] LOG:  hört auf IPv6-Adresse "::", Port 5432
2025-02-04 18:15:04.305 UTC [548] LOG:  hört auf Unix-Socket "/var/run/postgresql/.s.PGSQL.5432"
2025-02-04 18:15:04.313 UTC [575] LOG:  Datenbanksystem wurde am 2025-02-04 18:14:37 UTC heruntergefahren
2025-02-04 18:15:04.318 UTC [548] LOG:  Datenbanksystem ist bereit, Verbindungen zu akzeptieren

Außerdem gibt ./launcher logs app folgendes aus

x86_64-Architektur erkannt.
run-parts: Ausführen von /etc/runit/1.d/00-ensure-links
run-parts: Ausführen von /etc/runit/1.d/00-fix-var-logs
run-parts: Ausführen von /etc/runit/1.d/01-cleanup-web-pids
run-parts: Ausführen von /etc/runit/1.d/anacron
run-parts: Ausführen von /etc/runit/1.d/cleanup-pids
Stale PID-Dateien werden bereinigt
run-parts: Ausführen von /etc/runit/1.d/copy-env
run-parts: Ausführen von /etc/runit/1.d/letsencrypt
[Tue Feb  4 06:15:03 PM UTC 2025] Domains wurden nicht geändert.
[Tue Feb  4 06:15:03 PM UTC 2025] Überspringen, nächste Erneuerung ist am: 2025-02-09T00:30:10Z
[Tue Feb  4 06:15:03 PM UTC 2025] '--force' hinzufügen, um die Erneuerung zu erzwingen.
[Tue Feb  4 06:15:03 PM UTC 2025] Schlüssel installieren nach: /shared/ssl/forum.myforum.com.key
[Tue Feb  4 06:15:03 PM UTC 2025] Vollständige Chain installieren nach: /shared/ssl/forum.myforum.com.cer
[Tue Feb  4 06:15:03 PM UTC 2025] Reload-Befehl ausführen: sv reload nginx
Warnung: nginx: Supervidieren/ok kann nicht geöffnet werden: Datei existiert nicht
[Tue Feb  4 06:15:03 PM UTC 2025] Reload-Fehler für :
[Tue Feb  4 06:15:03 PM UTC 2025] Domains wurden nicht geändert.
[Tue Feb  4 06:15:03 PM UTC 2025] Überspringen, nächste Erneuerung ist am: 2025-02-09T00:30:15Z
[Tue Feb  4 06:15:03 PM UTC 2025] '--force' hinzufügen, um die Erneuerung zu erzwingen.
[Tue Feb  4 06:15:04 PM UTC 2025] Schlüssel installieren nach: /shared/ssl/forum.myforum.com_ecc.key
[Tue Feb  4 06:15:04 PM UTC 2025] Vollständige Chain installieren nach: /shared/ssl/forum.myforum.com_ecc.cer
[Tue Feb  4 06:15:04 PM UTC 2025] Reload-Befehl ausführen: sv reload nginx
Warnung: nginx: Supervidieren/ok kann nicht geöffnet werden: Datei existiert nicht
[Tue Feb  4 06:15:04 PM UTC 2025] Reload-Fehler für :
Gestartet runsvdir, PID ist 537
ok: run: redis: (pid 552) 0s
ok: run: postgres: (pid 548) 0s
nginx: [Warnung] doppelte Erweiterung "wasm", Inhaltstyp: "application/wasm", vorheriger Inhaltstyp: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
Supervisor PID: 546, Unicorn PID: 579
2 „Gefällt mir“

Dies geschieht auch auf meinen beiden selbst gehosteten Websites, nachdem ich heute über die Befehlszeile aktualisiert habe. Dies sind sehr einfache Installationen ohne Anpassungen oder inoffizielle Plugins, die regelmäßig auf dem neuesten Stand gehalten werden und normalerweise ohne Schwierigkeiten aktualisiert werden.

Ich versuche derzeit die obigen Vorschläge von @mwaniki und werde sehen, wie es funktioniert, und hier darüber berichten.

2 „Gefällt mir“

Ich habe die App erneut neu erstellt, und das Update wurde erfolgreich abgeschlossen, aber obwohl keine Fehler sichtbar sind, kann die Website nicht erreicht werden. Irgendwelche Ideen?

./launcher logs app


WARNUNG: Docker-Version 20.10.12 veraltet, Upgrade auf 24.0.7 oder neuer wird empfohlen.
x86_64-Architektur erkannt.
WARNUNG: Die Datei containers/app.yml ist für alle lesbar. Sie können diese Datei sichern, indem Sie ausführen: chmod o-rwx containers/app.yml
run-parts: Ausführung von /etc/runit/1.d/00-ensure-links
run-parts: Ausführung von /etc/runit/1.d/00-fix-var-logs
run-parts: Ausführung von /etc/runit/1.d/01-cleanup-web-pids
run-parts: Ausführung von /etc/runit/1.d/anacron
run-parts: Ausführung von /etc/runit/1.d/cleanup-pids
Bereinigung veralteter PID-Dateien
run-parts: Ausführung von /etc/runit/1.d/copy-env
run-parts: Ausführung von /etc/runit/1.d/letsencrypt
[Di 4. Feb 19:12:15 UTC 2025] Domains nicht geändert.
[Di 4. Feb 19:12:15 UTC 2025] Überspringen, nächste Erneuerungszeit ist: 2025-03-06T00:39:07Z
[Di 4. Feb 19:12:15 UTC 2025] Fügen Sie '--force' hinzu, um die Erneuerung zu erzwingen.
[Di 4. Feb 19:12:16 UTC 2025] Schlüssel wird installiert nach: /shared/ssl/forum.******.com.key
[Di 4. Feb 19:12:16 UTC 2025] Vollständige Kette wird installiert nach: /shared/ssl/forum.*****.com.cer
[Di 4. Feb 19:12:16 UTC 2025] Befehl zum Neuladen ausführen: sv reload nginx
Warnung: nginx: kann supervise/ok nicht öffnen: Datei existiert nicht
[Di 4. Feb 19:12:16 UTC 2025] Fehler beim Neuladen für:
[Di 4. Feb 19:12:16 UTC 2025] Domains nicht geändert.
[Di 4. Feb 19:12:16 UTC 2025] Überspringen, nächste Erneuerungszeit ist: 2025-03-06T00:39:11Z
[Di 4. Feb 19:12:16 UTC 2025] Fügen Sie '--force' hinzu, um die Erneuerung zu erzwingen.
[Di 4. Feb 19:12:16 UTC 2025] Schlüssel wird installiert nach: /shared/ssl/forum.*****.com_ecc.key
[Di 4. Feb 19:12:16 UTC 2025] Vollständige Kette wird installiert nach: /shared/ssl/forum.ü_ecc.cer
[Di 4. Feb 19:12:16 UTC 2025] Befehl zum Neuladen ausführen: sv reload nginx
Warnung: nginx: kann supervise/ok nicht öffnen: Datei existiert nicht
[Di 4. Feb 19:12:16 UTC 2025] Fehler beim Neuladen für:
runsvdir gestartet, PID ist 535
ok: run: redis: (pid 545) 0s
nginx: [warn] doppelte Erweiterung "wasm", Inhaltstyp: "application/wasm", vorheriger Inhaltstyp: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
ok: run: postgres: (pid 548) 0s
supervisor pid: 542 unicorn pid: 575
2 „Gefällt mir“

Ich glaube, dass dieses „Seite reagiert überhaupt nicht“ nichts mit dem Postgres-Update zu tun hat. Ich schaue es mir gerade an :eyes:

5 „Gefällt mir“

Ich warte gespannt auf die Lösung dieses Problems. Ich erhalte Hunderte von E-Mails von meinen Benutzern, die fragen, warum ich nicht auf das Forum zugreifen kann :frowning:

4 „Gefällt mir“

Entschuldigung für die Störung aller! Die Korrektur ist jetzt live, daher sollte ein weiterer ./launcher rebuild app die Dinge wieder online bringen.\n\nBitte lassen Sie uns wissen, wenn Sie danach immer noch Probleme sehen.

13 „Gefällt mir“

bei der Arbeit :slight_smile:

4 „Gefällt mir“

yuppy funktioniert, das Forum ist wieder am Leben. Vielen Dank für die schnelle Lösung. Deshalb lieben wir Discourse :heart:

4 „Gefällt mir“

Danke für die Fehlerbehebung! Ich habe auch die letzten 2 Stunden damit verbracht, herauszufinden, was bei meinem Rebuild schiefgelaufen ist. Jetzt ist alles in Ordnung!

Eine Meta-Beobachtung: Als ich das Problem in diesem Forum recherchierte, hat die standardmäßige Sortierung nach „Relevanz“ der Forensuchesergebnisse gegen mich gearbeitet. Die Fehlerprotokolle, nach denen ich gesucht habe, waren genau die gleichen wie hier, aber dieses aktuelle Thema erschien erst viele Seiten weiter unten in der Ergebnisliste (wahrscheinlich aufgrund seiner Aktualität). Daher habe ich dieses Thema erst gefunden, als ich zufällig die Meta-Startseite geöffnet habe, wo es angesagt war. Ich denke, das ist eine Notiz an mich/andere, auch die Startseite oder die neuesten Ergebnisse zu überprüfen, während ich versuche, ein zukünftiges Rebuild-Problem zu recherchieren.

6 „Gefällt mir“

Das sind großartige Rückmeldungen! Beachten Sie, dass dieses Gespräch ursprünglich unter PostgreSQL 15 update stattfand, bis David feststellte, dass es nichts mit dem PostgreSQL-Update zu tun hatte und die relevanten Beiträge in ein neues Thema verschob. Das geschah erst vor etwa einer Stunde, sodass Sie es erst danach hätten finden können!

Die Fehlerbehebung bei fehlgeschlagenen Updates ist notorisch schwierig – umso mehr, als das Aktualisieren von Discourse normalerweise so reibungslos verläuft, dass die meisten von uns, die es selbst hosten, nicht lernen müssen, wie Discourse im Hintergrund funktioniert und welche Schritte zur Fehlerbehebung erforderlich sind!

Danke, @david, dass du das untersucht und die Lösung so schnell gefunden hast!

3 „Gefällt mir“

Ich habe Docker über die mobile App aktualisiert und dann die gefürchtete Meldung “go update via console” erhalten, die normalerweise auf bevorstehende Herausforderungen hindeutet.

Ich habe alle manuellen Update-Schritte befolgt, und der Launcher-Rebuild-App schlägt jedes Mal fehl.

Ich kann mit einem Launcher-Start-App wiederherstellen, sodass die Website funktioniert.

Es ist mir unklar, ob dies mit den Postgres-Fehlern zusammenhängt oder wo ich Probleme haben könnte.

2 „Gefällt mir“

Das deutet darauf hin, dass es sich nicht um dasselbe Problem handelt, das in diesem Thema besprochen wurde.
Bei diesem Problem war der Neuaufbau ohne Fehler erfolgreich, aber die Website konnte nicht geladen werden. ./launcher start hat nicht geholfen.

Daher schlage ich vor, ein neues #support-Thema mit Details zu dem Fehler zu eröffnen, den Sie sehen.

2 „Gefällt mir“

Meine Website ist nach dem Umbau wieder online. Danke! :+1:

4 „Gefällt mir“

Letztendlich ein Leseverständnisproblem meinerseits, ich kann bestätigen, dass das Problem darin bestand, dass die Postgres-Datenbank nicht ordnungsgemäß heruntergefahren wurde. Nachdem ich die richtigen Anweisungen befolgt hatte, funktionierte alles wieder. Danke an alle, es ist schön, einen Ort zu haben, an dem, wenn die Dinge schiefgehen und ich ein wenig in Panik gerate, kühlere Köpfe hier sind, um zu helfen.

Vielen Dank!!!

7 „Gefällt mir“

Funktioniert bei mir nicht

2 „Gefällt mir“

Dann muss es ein anderes Problem sein. Bitte eröffne ein neues #support-Thema mit Details und wir werden unser Bestes tun, um zu helfen.

Um Verwechslungen zu vermeiden, werde ich dieses Thema schließen, da dieses spezielle Problem behoben ist.