Problema Nginx, quando fermo e avvio l'app ottengo "502 Bad Gateway"

Quando eseguo ./launcher stop app e poi ./launcher start app, il sito mostra 502 Bad Gateway. Non so quale sia il problema, ho provato a ricostruire ma senza successo.

Per favore, consigliami come posso risolvere questo problema.

Potresti condividere i log di rebuild?

root@amsaal:/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
[Lun 15 Apr 2024 10:12:06 AM UTC] Domini non modificati.
[Lun 15 Apr 2024 10:12:06 AM UTC] Salta, Prossima scadenza rinnovo: 2024-06-12T11:28:31Z
[Lun 15 Apr 2024 10:12:06 AM UTC] Aggiungere '--force' per forzare il rinnovo.
[Lun 15 Apr 2024 10:12:07 AM UTC] Installazione chiave in: /shared/ssl/amsaal.net.key
[Lun 15 Apr 2024 10:12:07 AM UTC] Installazione catena completa in: /shared/ssl/amsaal.net.cer
[Lun 15 Apr 2024 10:12:07 AM UTC] Esecuzione comando reload: sv reload nginx
warning: nginx: impossibile aprire supervise/ok: file non esiste
[Lun 15 Apr 2024 10:12:07 AM UTC] Errore di ricaricamento per :
[Lun 15 Apr 2024 10:12:07 AM UTC] Domini non modificati.
[Lun 15 Apr 2024 10:12:07 AM UTC] Salta, Prossima scadenza rinnovo: 2024-06-12T11:28:38Z
[Lun 15 Apr 2024 10:12:07 AM UTC] Aggiungere '--force' per forzare il rinnovo.
[Lun 15 Apr 2024 10:12:08 AM UTC] Installazione chiave in: /shared/ssl/amsaal.net_ecc.key
[Lun 15 Apr 2024 10:12:08 AM UTC] Installazione catena completa in: /shared/ssl/amsaal.net_ecc.cer
[Lun 15 Apr 2024 10:12:08 AM UTC] Esecuzione comando reload: sv reload nginx
warning: nginx: impossibile aprire supervise/ok: file non esiste
[Lun 15 Apr 2024 10:12:08 AM UTC] Errore di ricaricamento per :
Avviato runsvdir, PID è 537
ok: run: redis: (pid 550) 0s
ok: run: postgres: (pid 551) 0s
nginx: [warn] la direttiva "listen ... http2" è deprecata, usare invece la direttiva "http2" in /etc/nginx/conf.d/discourse.conf:60
supervisor pid: 545 unicorn pid: 577
root@amsaal:/var/discourse#

Non era quello che intendevo, potresti eseguire ./launcher rebuild app e poi condividere l’output? (Inoltre, per favore, metti l’output tra blocchi di codice, rende l’argomento più facile da leggere)

Ciò renderebbe un po’ più facile per l’utente ricostruirlo in questo modo, poiché registrerà l’output standard in un file

./launcher rebuild app >> rebuild.log
1 Mi Piace

se si desiderano file diversi per ogni ricompilazione:

./launcher rebuild app > "rebuild-$(date -Imin).log" 2>&1

Ci vuole un minuto o due dopo l’avvio del container prima che inizi a fornire contenuti. Hai provato ad aspettare qualche minuto prima di andare sul sito web?

1 Mi Piace
x86_64 arch rilevata.
Aggiornamento del launcher in corso
Il launcher è aggiornato
Arresto del vecchio container
app
2.0.20231218-0429: Pulling da discourse/base
Digest: sha256:468f70b9bb4c6d0c6c2bbb3efc1a5e12d145eae57bdb6946b7fe5558beb52dc1
Status: L'immagine è aggiornata per discourse/base:2.0.20231218-0429
docker.io/discourse/base:2.0.20231218-0429
/usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
97:C 15 Apr 2024 18:52:04.329 # oO0OoO0OoO0Oo Redis si sta avviando oO0OoO0OoO0Oo
97:C 15 Apr 2024 18:52:04.329 # Versione Redis=7.0.7, bit=64, commit=00000000, modificato=0, pid=97, appena avviato
97:C 15 Apr 2024 18:52:04.330 # Configurazione caricata
97:M 15 Apr 2024 18:52:04.331 * clock monotono: POSIX clock_gettime
97:M 15 Apr 2024 18:52:04.336 * Modalità di esecuzione=standalone, porta=6379.
97:M 15 Apr 2024 18:52:04.336 # Server inizializzato
97:M 15 Apr 2024 18:52:04.337 * Caricamento RDB prodotto dalla versione 7.0.7
97:M 15 Apr 2024 18:52:04.337 * Età RDB 31 secondi
97:M 15 Apr 2024 18:52:04.337 * Utilizzo memoria RDB al momento della creazione 23.25 Mb
97:M 15 Apr 2024 18:52:04.451 * Caricamento RDB completato, chiavi caricate: 1351, chiavi scadute: 5.
97:M 15 Apr 2024 18:52:04.461 * DB caricato dal disco: 0.124 secondi
97:M 15 Apr 2024 18:52:04.461 * Pronto per accettare connessioni
3507:C 15 Apr 2024 18:58:01.238 # oO0OoO0OoO0Oo Redis si sta avviando oO0OoO0OoO0Oo
3507:C 15 Apr 2024 18:58:01.238 # Versione Redis=7.0.7, bit=64, commit=00000000, modificato=0, pid=3507, appena avviato
3507:C 15 Apr 2024 18:58:01.238 # Configurazione caricata
3507:M 15 Apr 2024 18:58:01.239 * clock monotono: POSIX clock_gettime
3507:M 15 Apr 2024 18:58:01.240 # Avviso: Impossibile creare il socket di ascolto TCP del server *:6379: bind: Address already in use
3507:M 15 Apr 2024 18:58:01.240 # Impossibile ascoltare sulla porta 6379 (TCP), interruzione.
97:M 15 Apr 2024 18:58:27.220 * 100 modifiche in 300 secondi. Salvataggio...
97:M 15 Apr 2024 18:58:27.223 * Salvataggio in background avviato dal pid 3555
3555:C 15 Apr 2024 18:58:30.967 * DB salvato su disco
3555:C 15 Apr 2024 18:58:30.969 * Fork CoW per RDB: corrente 1 MB, picco 1 MB, medio 1 MB
97:M 15 Apr 2024 18:58:31.058 * Salvataggio in background terminato con successo
97:M 15 Apr 2024 19:03:32.047 * 100 modifiche in 300 secondi. Salvataggio...
97:M 15 Apr 2024 19:03:32.063 * Salvataggio in background avviato dal pid 3634
3634:C 15 Apr 2024 19:03:37.774 * DB salvato su disco
3634:C 15 Apr 2024 19:03:37.777 * Fork CoW per RDB: corrente 1 MB, picco 1 MB, medio 1 MB
97:M 15 Apr 2024 19:03:37.828 * Salvataggio in background terminato con successo
97:signal-handler (1713208309) Ricevuto SIGTERM, pianificazione spegnimento...
97:M 15 Apr 2024 19:11:49.130 # Spegnimento richiesto dall'utente...
97:M 15 Apr 2024 19:11:49.131 * Salvataggio dello snapshot RDB finale prima dell'uscita.
97:M 15 Apr 2024 19:11:52.592 * DB salvato su disco
97:M 15 Apr 2024 19:11:52.593 # Redis è ora pronto per uscire, arrivederci...
sha256:066d1fc0bf450b6f9043e13960cafef6b7751d92f0d89cc4e0865208293ce2e2
58661874f252e2e9dac3955608dbbe90e60f020a4d307d2818e7f991d39f8010
Rimozione del vecchio container
app

ea032a7acab7743f4ef8de3b9a536da0dbbf36b8c9dd5b2a9add0cfb01286e5d

Sì, quindi dopo che il processo di rebuild è stato completato dopo 30 secondi, il sito non funzionava con un errore 502 gateway, poi ho fatto /launch restart app con launch start app e ha funzionato.
Quindi forse sta succedendo qualcosa.

Quello… sembra un log incompleto. Finisce davvero lì, o si interrompe solo per un lungo periodo di tempo? Se è la seconda opzione, allora potresti aver bisogno di più RAM/swap.

Prova ad aspettare 60 secondi.

1 Mi Piace

potrebbe essere una pausa o potrebbe richiedere molto tempo, quasi 30 minuti per completare la ricostruzione, penso che la RAM di soli 2 GB possa rallentare le cose, ma al momento non ho problemi di memoria. è solo lento, normalmente non dovrebbe richiedere più di 1-2 minuti a seconda delle specifiche.

Le mie specifiche VPS di seguito.

CPU: AMD EPYC 7551P 32-Core Processor, 2000 MHz
RAM: 2 GB
SSD: 60 GB

Non otterresti un 502 se il container non fosse in esecuzione. Se avessi aspettato un po’ di più, il sito avrebbe iniziato a funzionare.

Non è che fermare e riavviare abbia fatto qualcosa, è solo che hai aspettato a lungo quando hai fatto il riavvio.

È previsto che tu abbia un errore 502 per un periodo di tempo mentre il container si avvia. Non hai un problema.

1 Mi Piace

a dire il vero non è poi così fuori dall’ordinario, le ricostruzioni non sono veloci, specialmente quando…

…non hai molta memoria.

In generale, questi giorni sono raccomandati almeno 4 GB di memoria totale (RAM e swap) per Discourse.

Durante l’aggiornamento di Discourse dall’interfaccia di amministrazione, ricevo questo avviso di problemi di incompatibilità

warning Resolution field "unset-value@2.0.1" is incompatible with requested version "unset-value@^1.0.0"
[3/5] Fetching packages...
warning Pattern ["wrap-ansi-cjs@npm:wrap-ansi@^7.0.0"] is trying to unpack in the same destination "/home/discourse/.cache/yarn/v6/npm-wrap-ansi-cjs-7.0.0-67e145cff510a6a6984bdf1152911d69d2eb9e43-integrity/node_modules/wrap-ansi-cjs" as pattern ["wrap-ansi@^7.0.0"]. This could result in non-deterministic behavior, skipping.
[4/5] Linking dependencies...
warning "@discourse/lint-configs > eslint-plugin-ember > ember-eslint-parser@0.3.8" has unmet peer dependency "@typescript-eslint/parser@^6.15.0".
warning "> @glint/environment-ember-loose@1.4.0" has unmet peer dependency "@glimmer/component@^1.1.2".
warning "> discourse-markdown-it@1.0.0" has unmet peer dependency "xss@*".
warning "workspace-aggregator-e69f39ff-3f17-47f3-9e20-638bb7914a45 > discourse > @uppy/aws-s3@3.0.6" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-e69f39ff-3f17-47f3-9e20-638bb7914a45 > discourse > @uppy/aws-s3-multipart@3.1.3" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-e69f39ff-3f17-47f3-9e20-638bb7914a45 > discourse > @uppy/xhr-upload@3.1.1" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-e69f39ff-3f17-47f3-9e20-638bb7914a45 > discourse-plugins > ember-this-fallback@0.4.0" has unmet peer dependency "ember-source@^3.28.11 || ^4.0.0".
warning "workspace-aggregator-e69f39ff-3f17-47f3-9e20-638bb7914a45 > admin > ember-source > router_js@8.0.3" has unmet peer dependency "rsvp@^4.8.5".
warning "workspace-aggregator-e69f39ff-3f17-47f3-9e20-638bb7914a45 > discourse > @uppy/aws-s3 > @uppy/xhr-upload@3.3.0" has incorrect peer dependency "@uppy/core@^3.2.1".

Quelli sono sicuri da ignorare, non impediranno a Discourse di ricostruire.