Quindi il server DigitalOcean che ospita il mio sito Discourse ha avuto un problema di qualche tipo e DigitalOcean sta cercando di migrare il mio sito su un altro server. Sono in contatto con loro riguardo al problema, ma volevo sapere se qualcuno nella comunità Discourse ha già affrontato una situazione simile.
Qualcuno ha consigli su come gestire questa situazione? Di solito vengono inviati avvisi al termine del processo? Non ho ancora ricevuto risposta alle mie e-mail. Il mio sito è completamente offline da un paio di giorni e questo non è positivo per la mia comunità. Non ho apportato modifiche a Discourse, quindi so che il problema è dovuto a un malfunzionamento del server DigitalOcean. C’è qualcosa di specifico che dovrei fare dal mio lato, o devo semplicemente attendere ancora?
Ho spento e riavviato il droplet, e ho anche ricostruito Discourse con ./launcher rebuild app. Dopo la ricostruzione, ricevo questo errore:
Error response from daemon: driver failed programming external connectivity on endpoint app (fd1221330787160dee95f94a1256ca0dc8ddb8be2bc3c4d576ab54d3b768613a): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use.
e-mail da DigitalOcean:
Abbiamo identificato un problema sulla macchina fisica che ospita uno o più dei vostri Droplet, elencati di seguito. Per minimizzare i disagi, procederemo alla migrazione dei Droplet su una macchina fisica più efficiente. Durante la migrazione, le operazioni dal Pannello di Controllo e via API – tra cui: spegnimenti, ridimensionamenti e tentativi di distruzione del Droplet – non avranno esito positivo per i Droplet interessati.
Per ridurre al minimo i tempi di inattività, tenteremo di eseguire migrazioni in tempo reale in tutti i casi possibili. Una migrazione in tempo reale non comporterebbe interruzioni del servizio, ma potrebbe causare una leggera riduzione delle prestazioni nell’I/O del disco e una perdita di pacchetti di un secondo o meno durante il passaggio alla nuova macchina fisica.
Nel caso in cui non fosse possibile eseguire una migrazione in tempo reale di un Droplet, procederemo con una migrazione offline, durante la quale il Droplet verrà spento e migrato offline nella finestra temporale prevista.
Il mio sospetto è che la questione di Digital Ocean non c’entri nulla e che tu abbia in qualche modo un altro server web installato o in esecuzione sul tuo server. È installato Apache o Nginx? Compare un server web sul tuo sito anche se Discourse non è in esecuzione?
Ho utilizzato l’installer automatico di Discourse di DigitalOcean quando ho configurato tutto inizialmente; utilizza Ubuntu e tutto il resto incluso nel pacchetto. Non ho altri siti web su questo droplet. Sembra che nginx sia attivo e in esecuzione. Lo stato di Apache restituisce un errore.
Questo è ciò che appare sul mio sito non funzionante quando visitato con Firefox:
Errore 521Ray ID: 5c686964ad310d1a • 2020-08-22 00:17:35 UTC
Il server web è inattivo
Browser - Cloudflare - Host
Funzionante - Funzionante - Errore
Ho eseguito il comando systemctl status apache2 per verificare se Apache fosse in esecuzione e dice:
● apache2.service - Il server HTTP Apache
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset:
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: failed (Result: exit-code) since Fri 2020-08-21 16:16:24 UTC; 7h ago
Process: 912 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILUR
Aug 21 16:16:24 discourse-beta-ubuntu-s-1vcpu-1gb-nyc1-01 apachectl[912]: AH0055
Aug 21 16:16:24 discourse-beta-ubuntu-s-1vcpu-1gb-nyc1-01 apachectl[912]: (98)Ad
Aug 21 16:16:24 discourse-beta-ubuntu-s-1vcpu-1gb-nyc1-01 apachectl[912]: (98)Ad
Aug 21 16:16:24 discourse-beta-ubuntu-s-1vcpu-1gb-nyc1-01 apachectl[912]: no lis
Aug 21 16:16:24 discourse-beta-ubuntu-s-1vcpu-1gb-nyc1-01 apachectl[912]: AH0001
Aug 21 16:16:24 discourse-beta-ubuntu-s-1vcpu-1gb-nyc1-01 apachectl[912]: Action
Aug 21 16:16:24 discourse-beta-ubuntu-s-1vcpu-1gb-nyc1-01 apachectl[912]: The Ap
Aug 21 16:16:24 discourse-beta-ubuntu-s-1vcpu-1gb-nyc1-01 systemd[1]: apache2.se
Aug 21 16:16:24 discourse-beta-ubuntu-s-1vcpu-1gb-nyc1-01 systemd[1]: apache2.se
Aug 21 16:16:24 discourse-beta-ubuntu-s-1vcpu-1gb-nyc1-01 systemd[1]: Failed to
lines 1-17/17 (END)
Ho eseguito il comando systemctl status nginx per verificare nginx e dice:
● nginx.service - Un server web ad alte prestazioni e un server proxy inverso
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: en
Active: active (running) since Fri 2020-08-21 16:16:24 UTC; 8h ago
Docs: man:nginx(8)
Process: 972 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=
Process: 917 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process o
Main PID: 976 (nginx)
Tasks: 2 (limit: 1108)
CGroup: /system.slice/nginx.service
├─976 nginx: master process /usr/sbin/nginx -g daemon on; master_proc
└─977 nginx: worker process
Aug 21 16:16:24 discourse-beta-ubuntu-s-1vcpu-1gb-nyc1-01 systemd[1]: Starting A
Aug 21 16:16:24 discourse-beta-ubuntu-s-1vcpu-1gb-nyc1-01 systemd[1]: nginx.serv
Aug 21 16:16:24 discourse-beta-ubuntu-s-1vcpu-1gb-nyc1-01 systemd[1]: Started A
lines 1-15/15 (END)
Guardando quella email, sembra che tu possa semplicemente aspettare e vedere cosa fanno. Ma ti consiglio di avere comunque un backup offsite, per sicurezza!
In generale, è molto meglio utilizzare il metodo di installazione ufficiale. A meno che tu non stia usando quel droplet per qualcos’altro oltre a Discourse, il mio suggerimento è di approfittarne per ricominciare da capo con un nuovo droplet e installare seguendo le istruzioni ufficiali e supportate qui: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub
Successivamente, potrai scaricare un backup dalla tua vecchia istanza e caricarlo sulla nuova, e sarai di nuovo operativo con un’istanza ufficialmente supportata e più semplice da mantenere.