Hallo zusammen!
**Dies ist mein erster Beitrag. **
Ich bin ein neuer Discourse-Benutzer, der von phpBB kommt.
Vor zwei Wochen habe ich Discourse in einem Docker-Container mit Nginx installiert, da Apache standardmäßig die Ports 80 und 443 verwendet. Ich habe die Schritte in den Installationsanleitungen und der Nginx-Multisite-Konfiguration sorgfältig befolgt.
Ich konnte das Forum eine Woche lang ausführen und nutzen und habe mich nur gelegentlich angemeldet, um mich mit der Plattform vertraut zu machen. Als ich einen der Benutzer bat, sich zu registrieren und es zu testen, stürzte das Forum am nächsten Tag ab. Der Browser zeigte die Meldung an: „Die Software, die dieses Diskussionsforum antreibt, ist auf ein unerwartetes Problem gestoßen.“ Ich konnte es nicht beheben, also habe ich das gesamte Forum von Grund auf neu installiert und dann die Threads aus dem letzten verfügbaren Backup wiederhergestellt. Das war letzten Donnerstag. Danach war das Forum wieder online. Jetzt ist es wieder mit einem Nginx-Fehler 502 Bad Gateway online. Ich habe direkt die App neu erstellt und sie stürzte erneut mit dem Fehler ab:
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 580 exit 1>.
Das Gleiche ist letzte Woche immer wieder passiert und hat mich dazu veranlasst, alles von Grund auf neu zu installieren. Das Forum ist praktisch inaktiv, da ich es noch nicht öffentlich gemacht habe. Ich habe Angst vor der Vorstellung, was passieren könnte, wenn es ohne Aktivität weiter abstürzt, wenn eine größere Benutzergruppe vorhanden ist? Führen Sie diese Befehle aus: ./launcher enter app
**cd /var/www/discourse**
**su discourse -c 'bundle exec rake db:migrate'**
Und in der Antwort sehe ich Folgendes, was mir aufgefallen ist:
connection to server on socket " /var/run/postgresql/.s.PGSQL.5432" failed: FATAL: the database system is starting up
Ich habe versucht, Postgres manuell neu zu starten und den Rebuild erneut auszuführen, aber der Prozess wurde erneut mit dieser Fehlermeldung unterbrochen:
**FAILED**
**--------------------**
**Pups::ExecError: if [ -f /root/install_postgres ]; then**
**/root/install_postgres && rm -f /root/install_postgres**
**elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then**
**socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1**
**fi**
** failed with return #<Process::Status: pid 18 exit 1>**
**Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'**
**exec failed with the params {"tag"=>"db", "cmd"=>"if [ -f /root/install_postgres ]; then\n /root/install_postgres && rm -f /root/install_postgres\nelif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then\n socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container exit ; 1\nfi\n"}**
**bootstrap failed with exit code 1**
Ich bin kein erfahrener Benutzer, um den Fehler zu identifizieren, aber ich vermute, dass Postgres irgendwann ausfällt. Das hat mich letzte Woche dazu veranlasst, alles neu zu starten und von vorne zu beginnen, aber ich glaube nicht, dass das eine übliche oder gesunde Praxis für irgendjemanden ist.
Discourse läuft auf einem Server mit 4 Kernen, 6 GB RAM und 180 GB Speicherplatz. Ich betreibe derzeit nur diese Installation von Discourse, daher bin ich nach meinem Verständnis nicht durch die Hardware eingeschränkt.