Se hai apportato modifiche al file di configurazione di Apache httpd.conf o uno degli altri file di configurazione inclusi come i file vhosts.d, è necessario ricaricare il servizio Apache affinché le modifiche abbiano effetto. Dalla riga di comando lo fai con il comando apachectl. La posizione esatta di questo comando varia sulla variante Unix o Linux che stai utilizzando (ad esempio Fedora, OSX, FreeBSD, Slackware, Mandrake, SUSE) e le impostazioni del tempo di compilazione, ma in genere è accessibile in / usr / sbin / apachectl
Riavvio di Apache con grazia
Di seguito è mostrato un esempio di riavvio di Apache con garbo:
/usr/sbin/apachectl graceful
Nota che dovrai essere eseguito come root o utilizzare il comando” sudo “per eseguire questo comando .
Se Apache non è già in esecuzione, verrà avviato. Se è già in esecuzione, verrà ricaricato con le nuove modifiche ma non interromperà le connessioni attive, il che significa che chiunque stia scaricando qualcosa continuerà a scaricarlo.
Eseguire una configurazione prima prova
Prima di riavviare il servizio Apache verrà effettuato un controllo sui file di configurazione per assicurarsi che siano validi. Se è presente un errore in essi, verrà visualizzato l’errore e il servizio Apache continuerà a funzionare utilizzando le vecchie impostazioni. È necessario correggere le impostazioni prima di tentare di riavviare nuovamente.
Puoi anche controllare le impostazioni senza riavviare Apache in questo modo:
/usr/sbin/apachectl configtest
Questo controllerà il file httpd.conf e segnalerà se la sintassi del file è valido o no. Verrà visualizzato un elenco di errori inclusi i numeri di riga, se presenti. Ciò semplifica l’isolamento di eventuali problemi.
Opzioni disponibili per il comando apachectl
Le seguenti sono tutte le opzioni disponibili che possono essere passate al comando apachectl. Questo testo proviene dalla pagina man di apachectl.
apachectl start: avvia il demone Apache. Fornisce un errore se è già in esecuzione.
apachectl stop: arresta il demone Apache.
apachectl restart: Riavvia il demone Apache inviandogli un SIGHUP. Se il demone non è in esecuzione, viene avviato. Questo comando controlla automaticamente i file di configurazione tramite configtest prima di avviare il riavvio per assicurarsi che Apache non muoia.
fullstatus: visualizza un rapporto di stato completo da mod_status. Perché funzioni, devi avere mod_status abilitato sul tuo server e un browser basato su testo come lynx disponibile sul tuo sistema. L’URL utilizzato per accedere al rapporto sullo stato può essere impostato modificando la variabile STATUSURL nello script.
apachectl status: Visualizza un breve rapporto sullo stato. Simile all’opzione fullstatus, tranne per il fatto che l’elenco delle richieste attualmente servite viene omesso.
apachectl graceful: riavvia con grazia il demone Apache inviandogli un SIGUSR1. Se il demone non è in esecuzione, viene avviato. Ciò differisce da un normale riavvio in quanto le connessioni attualmente aperte non vengono interrotte. Un effetto collaterale è che i vecchi file di registro non verranno chiusi immediatamente. Ciò significa che, se utilizzato in uno script di rotazione del registro, potrebbe essere necessario un ritardo sostanziale per garantire che i vecchi file di registro vengano chiusi prima di elaborarli. Questo comando controlla automaticamente i file di configurazione tramite configtest prima di avviare il riavvio per assicurarsi che Apache non muoia.
apachectl configtest: esegue un test della sintassi del file di configurazione. Analizza i file di configurazione e riporta la sintassi ok o informazioni dettagliate sul particolare errore di sintassi.
apachectl help: Visualizza un breve messaggio di aiuto .
Aggiornamento 19 marzo 2007
Ho scritto questo articolo originariamente per Apache 1.3 e quando stavo usando Gentoo Linux e OSX per servire pagine con Apache. Sulle mie attuali macchine openSUSE che eseguono Apache 2.2 non c’è più un programma apachectl. Invece del comando precedente, puoi eseguire il seguente comando e opzioni molto simili:
/etc/init.d/apache2 start|stop|reload|restart|configtest
In esecuzione /etc/init.d/apache2
su produce un messaggio di aiuto per descrivere in dettaglio le varie opzioni elencate di seguito:
start – start httpd
startssl – avvia httpd con -DSSL
stop – stop httpd (sendign SIGTERM to parent)
try-restart – stop httpd e se ha successo (cioè se era in esecuzione prima), avvia nuovamente.
stato – controlla se httpd è in esecuzione
riavvia – ferma httpd se in esecuzione; start httpd
reload | graceful – esegui un grazioso riavvio inviando un SIGUSR1 o avvia se non in esecuzione
configtest – esegui un test della sintassi della configurazione
extreme-configtest – prova a eseguire httpd come nessuno (rileva più errori caricando effettivamente la configurazione, ma non può leggere i certificati SSL)
probe – sonda per la necessità di una ricarica, fornire l’argomento che è richiesto per una ricarica. (confrontando i file di configurazione con il timestamp di pidfile)
full-server-status – scarica una schermata di stato completa; richiede lynx o w3m e mod_status abilitati
server-status – scarica una breve schermata di stato; richiede lynx o w3m e mod_status abilitati
help – questa schermata