Hvis du har gjort endringer i Apache-konfigurasjonsfilen httpd.conf eller en av de andre inkluderte konfigurasjonsfilene slik som vhosts.d-filene, må du laste inn Apache-tjenesten på nytt for at endringene skal tre i kraft. Fra kommandolinjen gjør du dette med apachectl-kommandoen. Den nøyaktige plasseringen av denne kommandoen varierer på Unix- eller Linux-varianten du bruker (f.eks. Fedora, OSX, FreeBSD, Slackware, Mandrake, SUSE) og kompileringstidinnstillingene, men vanligvis er den tilgjengelig på / usr / sbin / apachectl
Grønnere omstart av Apache
Et eksempel på å starte Apache på nytt elegant vises nedenfor:
/usr/sbin/apachectl graceful
Merk at du enten må kjøre som root eller bruke kommandoen» sudo «for å kjøre denne kommandoen .
Hvis Apache ikke allerede kjører, blir den startet. Hvis den allerede kjører, vil den lastes på nytt med de nye endringene, men vil ikke avbryte aktive tilkoblinger, noe som betyr at alle som er midt i å laste ned noe vil fortsette å kunne laste det ned.
Kjører en konfigurasjon test først
Før du starter Apache-tjenesten på nytt, vil det bli gjort en kontroll av konfigurasjonsfilene for å sikre at de er gyldige. Hvis det er en feil i dem, vises feilen, og Apache-tjenesten fortsetter å bruke de gamle innstillingene. Du må rette innstillingene dine før du prøver å starte på nytt.
Du kan også bare sjekke innstillingene uten å starte Apache på nytt slik:
/usr/sbin/apachectl configtest
Dette vil sjekke httpd.conf-filen og rapportere om syntaksen til filen er gyldig eller ikke. En liste over feil vil vises med linjenumrene hvis det er noen. Dette gjør det enkelt å isolere eventuelle problemer.
Tilgjengelige alternativer for kommandoen apachectl
Følgende er alle tilgjengelige alternativer som kan sendes til apachectl-kommandoen. Denne teksten er fra apachectl-mansiden.
apachectl start: Start Apache-demonen. Gir en feil hvis den allerede kjører.
apachectl stop: Stopper Apache-demonen.
apachectl restart: Start Apache-demonen på nytt ved å sende den en SIGHUP. Hvis demonen ikke kjører, startes den. Denne kommandoen sjekker automatisk konfigurasjonsfilene via configtest før du starter omstarten for å sikre at Apache ikke dør.
fullstatus: Viser en full statusrapport fra mod_status. For at dette skal fungere, må du ha mod_status aktivert på serveren din og en tekstbasert nettleser som gaupe tilgjengelig på systemet ditt. URL-en som brukes for å få tilgang til statusrapporten kan stilles inn ved å redigere STATUSURL-variabelen i skriptet.
apachectl status: Viser en kort statusrapport. I likhet med alternativet fullstatus, bortsett fra at listen over forespørsler som for øyeblikket blir servert, er utelatt.
apachectl grasiøs: Graceful starter Apache-demonen på nytt ved å sende den en SIGUSR1. Hvis demonen ikke kjører, startes den. Dette skiller seg fra en normal omstart ved at nåværende tilkoblinger ikke avbrytes. En bivirkning er at gamle loggfiler ikke lukkes umiddelbart. Dette betyr at hvis det brukes i et loggrotasjonsskript, kan det være nødvendig med en betydelig forsinkelse for å sikre at de gamle loggfilene lukkes før de behandles. Denne kommandoen sjekker automatisk konfigurasjonsfilene via configtest før du starter omstart for å sikre at Apache ikke dør.
apachectl configtest: Kjør en konfigurasjonstestsyntaks-test. Den analyserer konfigurasjonsfilene og rapporterer enten Syntaks Ok eller detaljert informasjon om den bestemte syntaksfeilen.
apachectl help: Viser en kort hjelpemelding .
Oppdatering 19. mars 2007
Jeg skrev denne artikkelen opprinnelig for Apache 1.3, og da jeg brukte Gentoo Linux og OSX til å betjene sider med Apache. På mine nåværende openSUSE-maskiner som kjører Apache 2.2, er det ikke lenger et apachectl-program. I stedet for kommandoen ovenfor kan du kjøre følgende veldig like kommando og alternativer i stedet:
/etc/init.d/apache2 start|stop|reload|restart|configtest
Kjører /etc/init.d/apache2
på sine egne sender ut en hjelpemelding for å detaljere de forskjellige alternativene som er oppført nedenfor:
start – start httpd
startssl – start httpd med -DSSL
stopp – stopp httpd (sendign SIGTERM til foreldre)
prøv å starte på nytt – stopp httpd og hvis dette lykkes (dvs. hvis det kjørte før), start det igjen.
status – sjekk om httpd kjører
start på nytt – stopp httpd hvis du kjører; start httpd
reload | graceful – gjør en grasiøs omstart ved å sende en SIGUSR1 eller start hvis den ikke kjører
configtest – gjør en konfigurasjonssyntaks-test
extreme-configtest – prøv å kjøre httpd som ingen (oppdager flere feil ved å faktisk laste konfigurasjonen, men kan ikke lese SSL-sertifikater)
sonde – sonde for nødvendigheten av en omlasting, gi ut argumentet som kreves for en omlasting. (ved å sammenligne conf-filer med pidfile-tidsstempel)
full-server-status – dump en full status-skjerm; krever gaupe eller w3m og mod_status aktivert
serverstatus – dump en kort statusskjerm; krever gaupe eller w3m og mod_status aktivert
hjelp – dette skjermbildet