Il modo migliore per risolvere apache non si avvia?


8

Recentemente abbiamo ottenuto un server di backup per il mirroring di tutti i nostri dati nel caso in cui il server primario si spenga.

Ho ottenuto tutti i dati dei siti aggiornati tramite rsync e tutti i file di configurazione e database di Apache aggiornati. Entrambe le macchine sono su Ubuntu 9 (9.04 sul primario, 9.10 sul backup).

Quindi a questo punto tutto sembra sincronizzato per la maggior parte (devo ancora capire la sincronizzazione degli utenti) e provo ad avviare Apache. ottengo

* Starting web server apache2                                       [fail]

Nient'altro che indica quale potrebbe essere il problema.

So di non avere abbastanza informazioni per aspettarmi una soluzione da voi ragazzi, quindi vorrei solo sapere dove posso andare da qui per approfondire il problema. Ci sarebbero dei log degli errori per questo?

Grazie!


finora, ho trovato registri che dicono "Nessun file o directory: mod_fcgid" - questo è un buon inizio
Lowgain

Risposte:


11

In alcuni casi specifici, una voce di registro non verrà scritta sul disco - questo può accadere se non esistono registri, ad esempio, o Apache semplicemente non è in grado di scrivere nei file di registro a causa di problemi con le autorizzazioni, ecc. In tali casi, il il modo migliore per diagnosticare un errore è usare `strace ':

[root@server ~]# strace -Ff apachectl start

Mentre l'output sarà abbastanza dettagliato, se Apache non si avvia per qualsiasi motivo, vedrai un write () alla fine della coda con il contenuto di ciò che verrebbe inserito nei log con il motivo per cui non riesce (se non sta registrando perché nel registro degli errori, non stupirti se il messaggio di errore contiene "Impossibile aprire il registro" con il percorso del registro;).

Anche se guardando il tuo commento su mod_fcgid, suggerirei di rivedere la configurazione di Apache e di esaminare i riferimenti a mod_fcgid - sembra che stia cercando di aprire un file "mod_fcgid" letterale invece di caricare il modulo.



3

Eventuali errori devono essere stampati nei log degli errori (spesso in / var / log / http / error_logs. Grep per ErrorLog nel tuo httpd.conf per scoprire dove.

Consiglio di usare due finestre. Esegui "tail -f error_log" in una finestra e usa un'altra finestra per eseguire il comando "apachectl restart". Dopo aver trovato l'errore, aggiorna la tua risposta qui con il messaggio di errore.


Il passaggio di risoluzione dei problemi numero uno in qualsiasi cosa dovrebbe sempre essere letto i registri. Apache registra quasi ogni singolo evento che lo attraversa, quindi dovresti essere pieno zeppo di dati da esaminare.
phuzion,

2

Ho avuto un problema simile con il server apache di debug su Mac OS, quindi ho deciso di condividere la mia esperienza e salvare altri un po 'di tempo ho trovato molto utile quanto segue:

  1. individuare i registri:

apachectl -S | grep log

  1. nell'output troverai alcuni file di log che puoi iniziare a cercare l'esempio di errori:

tail -n 15 /var/log/apache2/ssl_engine.log

Nel caso in cui ci siano più di 1 file di registro, continua a seguirli finché non trovi l'errore che impedisce l'avvio di apache


0

Se Apache non è in esecuzione, controlla la tua porta skype, la maggior parte delle volte sia skype che apache usano la porta 80, e ciò significa che skype potrebbe essere il motivo per cui apache non può avviarsi. interrompere skype se è installato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.