Sito offline dopo il ricostruzione (4 febbraio 2025)

Ho visto questo messaggio dopo una recente ricompilazione. Ho quindi eseguito ./launcher rebuild app, ma in seguito la mia istanza è diventata inaccessibile. Si tratta di un’installazione standard: come posso determinare cosa è successo?

errori quando eseguo ./launcher logs app

cd /var/discourse
./launcher logs app
x86_64 arch rilevato.
run-parts: esecuzione di /etc/runit/1.d/00-ensure-links
run-parts: esecuzione di /etc/runit/1.d/00-fix-var-logs
run-parts: esecuzione di /etc/runit/1.d/01-cleanup-web-pids
run-parts: esecuzione di /etc/runit/1.d/anacron
run-parts: esecuzione di /etc/runit/1.d/cleanup-pids
Pulizia dei file PID obsoleti
run-parts: esecuzione di /etc/runit/1.d/copy-env
run-parts: esecuzione di /etc/runit/1.d/letsencrypt
[Mar 4 feb 05:38:16 UTC 2025] Domini non modificati.
[Mar 4 feb 05:38:16 UTC 2025] Salta, Prossimo rinnovo previsto per: 2025-03-02T20:15:28Z
[Mar 4 feb 05:38:16 UTC 2025] Aggiungere '--force' per forzare il rinnovo.
[Mar 4 feb 05:38:17 UTC 2025] Installazione chiave in: /shared/ssl/mydomain.com.key
[Mar 4 feb 05:38:17 UTC 2025] Installazione catena completa in: /shared/ssl/mydomain.com.cer
[Mar 4 feb 05:38:17 UTC 2025] Esecuzione comando di ricaricamento: sv reload nginx
warning: nginx: impossibile aprire supervise/ok: file non esiste
[Mar 4 feb 05:38:17 UTC 2025] Errore di ricaricamento per :
[Mar 4 feb 05:38:17 UTC 2025] Domini non modificati.
[Mar 4 feb 05:38:17 UTC 2025] Salta, Prossimo rinnovo previsto per: 2025-03-02T20:15:33Z
[Mar 4 feb 05:38:17 UTC 2025] Aggiungere '--force' per forzare il rinnovo.
[Mar 4 feb 05:38:18 UTC 2025] Installazione chiave in: /shared/ssl/mydomain.com_ecc.key
[Mar 4 feb 05:38:18 UTC 2025] Installazione catena completa in: /shared/ssl/mydomain.com_ecc.cer
[Mar 4 feb 05:38:18 UTC 2025] Esecuzione comando di ricaricamento: sv reload nginx
fail: nginx: runsv non in esecuzione
[Mar 4 feb 05:38:18 UTC 2025] Errore di ricaricamento per :
Avviato runsvdir, PID è 567
ok: run: redis: (pid 577) 0s
ok: run: postgres: (pid 581) 0s
nginx: [warn] estensione duplicata "wasm", tipo di contenuto: "application/wasm", tipo di contenuto precedente: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
supervisor pid: 575 unicorn pid: 607
Spegnimento in corso
run-parts: esecuzione di /etc/runit/3.d/01-nginx
ok: down: nginx: 1s, normalmente attivo
run-parts: esecuzione di /etc/runit/3.d/02-unicorn
(575) in uscita
ok: down: unicorn: 0s, normalmente attivo
run-parts: esecuzione di /etc/runit/3.d/10-redis
ok: down: redis: 1s, normalmente attivo
run-parts: esecuzione di /etc/runit/3.d/99-postgres
ok: down: postgres: 0s, normalmente attivo
ok: down: nginx: 5s, normalmente attivo
ok: down: postgres: 1s, normalmente attivo
ok: down: redis: 3s, normalmente attivo
ok: down: cron: 0s, normalmente attivo
ok: down: unicorn: 4s, normalmente attivo
ok: down: rsyslog: 0s, normally up
run-parts: esecuzione di /etc/runit/1.d/00-ensure-links
run-parts: esecuzione di /etc/runit/1.d/00-fix-var-logs
run-parts: esecuzione di /etc/runit/1.d/01-cleanup-web-pids
run-parts: esecuzione di /etc/runit/1.d/anacron
run-parts: esecuzione di /etc/runit/1.d/cleanup-pids
Pulizia dei file PID obsoleti
run-parts: esecuzione di /etc/runit/1.d/copy-env
run-parts: esecuzione di /etc/runit/1.d/letsencrypt
[Mar 4 feb 05:58:32 UTC 2025] Domini non modificati.
[Mar 4 feb 05:58:32 UTC 2025] Salta, Prossimo rinnovo previsto per: 2025-03-02T20:15:28Z
[Mar 4 feb 05:58:32 UTC 2025] Aggiungere '--force' per forzare il rinnovo.
[Mar 4 feb 05:58:32 UTC 2025] Installazione chiave in: /shared/ssl/mydomain.com.key
[Mar 4 feb 05:58:32 UTC 2025] Installazione catena completa in: /shared/ssl/mydomain.com.cer
[Mar 4 feb 05:58:32 UTC 2025] Esecuzione comando di ricaricamento: sv reload nginx
fail: nginx: runsv non in esecuzione
[Mar 4 feb 05:58:32 UTC 2025] Errore di ricaricamento per :
[Mar 4 feb 05:58:32 UTC 2025] Domini non modificati.
[Mar 4 feb 05:58:32 UTC 2025] Salta, Prossimo rinnovo previsto per: 2025-03-02T20:15:33Z
[Mar 4 feb 05:58:32 UTC 2025] Aggiungere '--force' per forzare il rinnovo.
[Mar 4 feb 05:58:32 UTC 2025] Installazione chiave in: /shared/ssl/mydomain.com_ecc.key
[Mar 4 feb 05:58:32 UTC 2025] Installazione catena completa in: /shared/ssl/mydomain.com_ecc.cer
[Mar 4 feb 05:58:32 UTC 2025] Esecuzione comando di ricaricamento: sv reload nginx
fail: nginx: runsv non in esecuzione
[Mar 4 feb 05:58:32 UTC 2025] Errore di ricaricamento per :
Avviato runsvdir, PID è 561
ok: run: redis: (pid 575) 0s
nginx: [warn] estensione duplicata "wasm", tipo di contenuto: "application/wasm", tipo di contenuto precedente: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
ok: run: postgres: (pid 580) 1s
supervisor pid: 570 unicorn pid: 601
Spegnimento in corso
run-parts: esecuzione di /etc/runit/3.d/01-nginx
ok: down: nginx: 0s, normalmente attivo
run-parts: esecuzione di /etc/runit/3.d/02-unicorn
(570) in uscita
ok: down: unicorn: 1s, normalmente attivo
run-parts: esecuzione di /etc/runit/3.d/10-redis
ok: down: redis: 0s, normalmente attivo
run-parts: esecuzione di /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: esecuzione di /etc/runit/1.d/00-ensure-links
run-parts: esecuzione di /etc/runit/1.d/00-fix-var-logs
run-parts: esecuzione di /etc/runit/1.d/01-cleanup-web-pids
run-parts: esecuzione di /etc/runit/1.d/anacron
run-parts: esecuzione di /etc/runit/1.d/cleanup-pids
Pulizia dei file PID obsoleti
run-parts: esecuzione di /etc/runit/1.d/copy-env
run-parts: esecuzione di /etc/runit/1.d/letsencrypt
[Mar 4 feb 06:01:07 UTC 2025] Domini non modificati.
[Mar 4 feb 06:01:07 UTC 2025] Salta, Prossimo rinnovo previsto per: 2025-03-02T20:15:28Z
[Mar 4 feb 06:01:07 UTC 2025] Aggiungere '--force' per forzare il rinnovo.
[Mar 4 feb 06:01:07 UTC 2025] Installazione chiave in: /shared/ssl/mydomain.com.key
[Mar 4 feb 06:01:07 UTC 2025] Installazione catena completa in: /shared/ssl/mydomain.com.cer
[Mar 4 feb 06:01:07 UTC 2025] Esecuzione comando di ricaricamento: sv reload nginx
fail: nginx: runsv non in esecuzione
[Mar 4 feb 06:01:07 UTC 2025] Errore di ricaricamento per :
[Mar 4 feb 06:01:07 UTC 2025] Domini non modificati.
[Mar 4 feb 06:01:07 UTC 2025] Salta, Prossimo rinnovo previsto per: 2025-03-02T20:15:33Z
[Mar 4 feb 06:01:07 UTC 2025] Aggiungere '--force' per forzare il rinnovo.
[Mar 4 feb 06:01:07 UTC 2025] Installazione chiave in: /shared/ssl/mydomain.com_ecc.key
[Mar 4 feb 06:01:07 UTC 2025] Installazione catena completa in: /shared/ssl/mydomain.com_ecc.cer
[Mar 4 feb 06:01:07 UTC 2025] Esecuzione comando di ricaricamento: sv reload nginx
fail: nginx: runsv non in esecuzione
[Mar 4 feb 06:01:07 UTC 2025] Errore di ricaricamento per :
Avviato runsvdir, PID è 561
ok: run: redis: (pid 575) 0s
ok: run: postgres: (pid 576) 0s
nginx: [warn] estensione duplicata "wasm", tipo di contenuto: "application/wasm", tipo di contenuto precedente: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
supervisor pid: 570 unicorn pid: 601
(570) in uscita
nginx: [warn] estensione duplicata "wasm", tipo di contenuto: "application/wasm", tipo di contenuto precedente: "application/wasm" in /etc/nginx/conf.d/discourse.conf:4
3 Mi Piace

Tutto stava andando liscio. Ho visto quanto segue e ho ricostruito. La compilazione si è completata senza errori, ma il mio sito non si apre.

-------------------------------------------------------------------------------------
AGGIORNAMENTO DI POSTGRES COMPLETATO

Il vecchio database 13 è conservato in /shared/postgres_data_old

Per completare l'aggiornamento, ricostruisci di nuovo usando:

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

Quando eseguo questa
tail /var/discourse/shared/standalone/log/var-log/postgres/current
Output

2025-02-04 18:11:50.943 UTC [573] LOG:  arresto in corso
2025-02-04 18:11:50.945 UTC [573] LOG:  inizio checkpoint: shutdown immediato
2025-02-04 18:11:50.970 UTC [573] LOG:  checkpoint completato: scritto 139 buffer (0.0%); 0 file WAL aggiunti, rimossi, riciclati; scrittura=0.017 s, sincronizzazione=0.005 s, totale=0.027 s; file sincronizzati=27, più lungo=0.002 s, medio=0.001 s; distanza=410 kB, stima=410 kB
2025-02-04 18:11:51.034 UTC [547] LOG:  sistema di database spento
2025-02-04 18:15:04.302 UTC [548] LOG:  avvio di PostgreSQL 15.10 (Debian 15.10-1.pgdg120+1) su x86_64-pc-linux-gnu, compilato da gcc (Debian 12.2.0-14) 12.2.0, a 64-bit
2025-02-04 18:15:04.303 UTC [548] LOG:  in ascolto sull'indirizzo IPv4 "0.0.0.0", porta 5432
2025-02-04 18:15:04.303 UTC [548] LOG:  in ascolto sull'indirizzo IPv6 "::", porta 5432
2025-02-04 18:15:04.305 UTC [548] LOG:  in ascolto sulla socket Unix "/var/run/postgresql/.s.PGSQL.5432"
2025-02-04 18:15:04.313 UTC [575] LOG:  sistema di database spento alle 2025-02-04 18:14:37 UTC
2025-02-04 18:15:04.318 UTC [548] LOG:  sistema di database pronto ad accettare connessioni

Anche ./launcher logs app dà il seguente output

x86_64 arch rilevata.
run-parts: esecuzione di /etc/runit/1.d/00-ensure-links
run-parts: esecuzione di /etc/runit/1.d/00-fix-var-logs
run-parts: esecuzione di /etc/runit/1.d/01-cleanup-web-pids
run-parts: esecuzione di /etc/runit/1.d/anacron
run-parts: esecuzione di /etc/runit/1.d/cleanup-pids
Pulizia dei file PID obsoleti
run-parts: esecuzione di /etc/runit/1.d/copy-env
run-parts: esecuzione di /etc/runit/1.d/letsencrypt
[Tue Feb  4 06:15:03 PM UTC 2025] I domini non sono stati modificati.
[Tue Feb  4 06:15:03 PM UTC 2025] Salta, il prossimo rinnovo è previsto per: 2025-02-09T00:30:10Z
[Tue Feb  4 06:15:03 PM UTC 2025] Aggiungi '--force' per forzare il rinnovo.
[Tue Feb  4 06:15:03 PM UTC 2025] Installazione chiave in: /shared/ssl/forum.myforum.com.key
[Tue Feb  4 06:15:03 PM UTC 2025] Installazione catena completa in: /shared/ssl/forum.myforum.com.cer
[Tue Feb  4 06:15:03 PM UTC 2025] Esecuzione comando di reload: sv reload nginx
warning: nginx: impossibile aprire supervise/ok: file inesistente
[Tue Feb  4 06:15:03 PM UTC 2025] Errore di reload per :
[Tue Feb  4 06:15:03 PM UTC 2025] Reload error for :
[Tue Feb  4 06:15:03 PM UTC 2025] Domini non modificati.
[Tue Feb  4 06:15:03 PM UTC 2025] Salta, il prossimo rinnovo è previsto per: 2025-02-09T00:30:15Z
[Tue Feb  4 06:15:03 PM UTC 2025] Aggiungi '--force' per forzare il rinnovo.
[Tue Feb  4 06:15:04 PM UTC 2025] Installazione chiave in: /shared/ssl/forum.myforum.com_ecc.key
[Tue Feb  4 06:15:04 PM UTC 2025] Installazione catena completa in: /shared/ssl/forum.myforum.com_ecc.cer
[Tue Feb  4 06:15:04 PM UTC 2025] Esecuzione comando di reload: sv reload nginx
warning: nginx: impossibile aprire supervise/ok: file inesistente
[Tue Feb  4 06:15:04 PM UTC 2025] Errore di reload for :
Avvio runsvdir, PID è 537
ok: run: redis: (pid 552) 0s
ok: run: postgres: (pid 548) 0s
nginx: [avviso] estensione duplicata "wasm", tipo di contenuto: "application/wasm", in /etc/nginx/conf.d/discourse.conf:4
 supervisor pid: 546, pid di unicorn: 579
2 Mi Piace

Sta succedendo anche sui miei due siti self-hosted, dopo l’aggiornamento da riga di comando oggi. Si tratta di installazioni molto standard senza personalizzazioni o plugin non ufficiali, mantenute regolarmente aggiornate e che in genere si aggiornano senza difficoltà.

Sto attualmente provando i suggerimenti di @mwaniki qui sopra e vedrò come funziona, per poi riferire qui.

2 Mi Piace

Ho eseguito un’altra ricompilazione dell’app e l’aggiornamento è stato completato con successo, ma anche se non ci sono errori visibili, il sito non è raggiungibile. Qualche idea?

./launcher logs app


WARNING: Docker version 20.10.12 deprecated, recommend upgrade to 24.0.7 or newer.
x86_64 arch detected.
WARNING: containers/app.yml file is world-readable. You can secure this file by running: chmod o-rwx containers/app.yml
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 07:12:15 PM UTC 2025] Domains not changed.
[Tue Feb  4 07:12:15 PM UTC 2025] Skip, Next renewal time is: 2025-03-06T00:39:07Z
[Tue Feb  4 07:12:15 PM UTC 2025] Add '--force' to force to renew.
[Tue Feb  4 07:12:16 PM UTC 2025] Installing key to: /shared/ssl/forum.******.com.key
[Tue Feb  4 07:12:16 PM UTC 2025] Installing full chain to: /shared/ssl/forum.*****.com.cer
[Tue Feb  4 07:12:16 PM UTC 2025] Run reload cmd: sv reload nginx
warning: nginx: unable to open supervise/ok: file does not exist
[Tue Feb  4 07:12:16 PM UTC 2025] Reload error for :
[Tue Feb  4 07:12:16 PM UTC 2025] Domains not changed.
[Tue Feb  4 07:12:16 PM UTC 2025] Skip, Next renewal time is: 2025-03-06T00:39:11Z
[Tue Feb  4 07:12:16 PM UTC 2025] Add '--force' to force to renew.
[Tue Feb  4 07:12:16 PM UTC 2025] Installing key to: /shared/ssl/forum.*****.com_ecc.key
[Tue Feb  4 07:12:16 PM UTC 2025] Installing full chain to: /shared/ssl/forum.ü_ecc.cer
[Tue Feb  4 07:12:16 PM UTC 2025] Run reload cmd: sv reload nginx
warning: nginx: unable to open supervise/ok: file does not exist
[Tue Feb  4 07:12:16 PM UTC 2025] Reload error for :
Started runsvdir, PID is 535
ok: run: redis: (pid 545) 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 548) 0s
supervisor pid: 542 unicorn pid: 575
2 Mi Piace

Penso che questo “sito non risponde affatto” non sia correlato all’aggiornamento di postgres. Ci sto dando un’occhiata adesso :occhi:

5 Mi Piace

Attendo con impazienza che questo problema venga risolto. Ricevo centinaia di email dai miei utenti che chiedono perché non riesco ad accedere al forum :frowning:

4 Mi Piace

Scusate per l’interruzione a tutti! La correzione è ora attiva, quindi eseguire un altro ./launcher rebuild app dovrebbe riportare tutto online.

Fateci sapere se riscontrate ancora problemi dopo.

13 Mi Piace

al lavoro :slight_smile:

4 Mi Piace

yuppy sta funzionando, il forum è di nuovo attivo. Grazie per la rapida soluzione. Ecco perché amiamo Discourse :heart:

4 Mi Piace

Grazie per aver risolto il problema! Ho anche passato le ultime 2 ore a cercare di capire cosa fosse andato storto con la mia ricostruzione. Ora va tutto bene!

Una meta-osservazione: quando ho cercato l’argomento in questo forum, l’ordinamento predefinito per "Rilevanza" dei risultati della ricerca del forum mi ha ostacolato. I log di errore su cui ho cercato erano esattamente gli stessi di qui, ma questo argomento recente è apparso solo molte pagine più in basso nell’elenco dei risultati (probabilmente a causa della sua novità). Pertanto, non ho trovato questo argomento finché non ho aperto casualmente la home page di Meta dove era di tendenza. Immagino che questo sia un appunto per me stesso/altri per controllare anche la home page o i risultati più recenti mentre si cerca di ricercare un futuro problema di ricostruzione.

6 Mi Piace

Ottimo feedback! Si noti che inizialmente questa conversazione stava avvenendo su PostgreSQL 15 update finché David non si è reso conto che non era correlata all’aggiornamento di PostgreSQL e ha spostato i post pertinenti in un nuovo argomento. Ciò è accaduto solo circa un’ora fa, quindi non avresti potuto trovarlo fino a dopo!

La risoluzione dei problemi di aggiornamenti falliti è notoriamente difficile, tanto più perché l’aggiornamento di Discourse di solito è così fluido che la maggior parte di noi che si auto-ospitano non deve imparare come funziona Discourse sotto il cofano e imparare i passaggi per la risoluzione dei problemi!

Apprezzo te @david per aver esaminato questo problema e aver trovato rapidamente la soluzione!

3 Mi Piace

Ho aggiornato Docker dall’app mobile, e poi ho ricevuto il temuto messaggio “vai all’aggiornamento tramite console”, che di solito segnala sfide imminenti.

Ho seguito tutti i passaggi manuali di aggiornamento e la ricostruzione dell’app tramite launcher fallisce ogni volta.

Sono in grado di recuperare con un avvio dell’app tramite launcher, quindi il sito funziona.

Non mi è chiaro se questo sia correlato agli errori di postgres, o dove potrei avere problemi.

2 Mi Piace

Ciò suggerisce che non si tratta dello stesso problema discusso in questo argomento.
Per questo problema, il rebuild stava riuscendo senza errori, ma il sito non veniva caricato. ./launcher start non ha aiutato.

Quindi, suggerirei di aprire un nuovo argomento Support con i dettagli dell’errore che stai riscontrando.

2 Mi Piace

Il mio sito è di nuovo online dopo la ricostruzione. Grazie! :+1:

4 Mi Piace

Alla fine un problema di comprensione della lettura da parte mia, posso affermare che il problema era che il database Postgres non si stava spegnendo correttamente. Una volta seguite le giuste indicazioni, tutto è tornato a funzionare. Grazie a tutti, è bello avere un posto dove, quando le cose vanno storte e io vado un po’ nel panico, ci sono menti più lucide qui per aiutare.

Grazie mille!!!

7 Mi Piace

Non funziona per me

2 Mi Piace

Allora deve essere un problema diverso. Apri un nuovo argomento Support con i dettagli e faremo del nostro meglio per aiutarti.

Per evitare confusione, chiuderò questo argomento, poiché questo problema specifico è stato risolto.