Om du har gjort ändringar i Apache-konfigurationsfilen httpd.conf eller någon av de andra inkluderade konfigurationsfilerna till exempel vhosts.d-filerna måste du ladda om Apache-tjänsten för att ändringarna ska träda i kraft. Från kommandoraden gör du detta med kommandot apachectl. Den exakta platsen för detta kommando varierar beroende på Unix- eller Linux-varianten du använder (t.ex. Fedora, OSX, FreeBSD, Slackware, Mandrake, SUSE) och kompileringstidinställningarna, men det är vanligtvis tillgängligt på / usr / sbin / apachectl
Graciöst starta om Apache
Ett exempel på att starta om Apache graciöst visas nedan:
/usr/sbin/apachectl graceful
Observera att du antingen måste köras som root eller använda kommandot” sudo ”för att köra det här kommandot .
Om Apache inte redan körs kommer den att startas. Om den redan körs kommer den att laddas om med de nya ändringarna men kommer inte att avbryta aktiva anslutningar, vilket innebär att alla som är mitt i att ladda ner något kommer att fortsätta att kunna ladda ner det.
Köra en konfiguration testa först
Innan du startar om Apache-tjänsten kontrolleras konfigurationsfilerna för att säkerställa att de är giltiga. Om det finns ett fel i dem visas felet och Apache-tjänsten fortsätter att köras med de gamla inställningarna. Du måste korrigera dina inställningar innan du försöker starta om igen.
Du kan också bara kontrollera inställningarna utan att starta om Apache så:
/usr/sbin/apachectl configtest
Detta kontrollerar httpd.conf-filen och rapporterar om filens syntax är giltig eller inte. En lista med fel kommer att visas inklusive radnumren om det finns några. Detta gör det enkelt att isolera eventuella problem.
Tillgängliga alternativ för apachectl-kommandot
Följande är alla tillgängliga alternativ som kan skickas till kommandot apachectl. Denna text kommer från apachectl-mansidan.
apachectl start: Starta Apache-demonen. Ger ett fel om det redan körs.
apachectl stop: Stoppar Apache-demon.
apachectl start: Startar om Apache-demonen genom att skicka den en SIGHUP. Om demonen inte körs startas den. Detta kommando kontrollerar automatiskt konfigurationsfilerna via configtest innan du startar omstart för att se till att Apache inte dör.
fullstatus: Visar en fullständig statusrapport från mod_status. För att detta ska fungera måste du ha mod_status aktiverat på din server och en textbaserad webbläsare som lynx tillgänglig på ditt system. Webbadressen som används för att komma åt statusrapporten kan ställas in genom att redigera STATUSURL-variabeln i skriptet.
apachectl-status: Visar en kort statusrapport. Liknar alternativet fullstatus, förutom att listan över förfrågningar som för närvarande serveras utelämnas.
apachectl graciös: Startar om Apache-demonen graciöst genom att skicka en SIGUSR1 till den. Om demonen inte körs startas den. Detta skiljer sig från en normal omstart genom att för närvarande öppna anslutningar inte avbryts. En bieffekt är att gamla loggfiler inte stängs omedelbart. Detta innebär att om det används i ett loggrotationsskript kan en betydande fördröjning vara nödvändig för att säkerställa att de gamla loggfilerna stängs innan de bearbetas. Detta kommando kontrollerar automatiskt konfigurationsfilerna via configtest innan du startar omstart för att se till att Apache inte dör.
apachectl configtest: Kör ett konfigurationsfilssyntaxtest. Det analyserar konfigurationsfilerna och rapporterar antingen Syntax Ok eller detaljerad information om det specifika syntaxfelet.
apachectl help: Visar ett kort hjälpmeddelande .
Uppdatering 19 mars 2007
Jag skrev den här artikeln ursprungligen för Apache 1.3 och när jag använde Gentoo Linux och OSX för att betjäna sidor med Apache. På mina nuvarande openSUSE-maskiner som kör Apache 2.2 finns det inte längre ett apachectl-program. I stället för ovanstående kommando kan du köra följande mycket liknande kommando och alternativ istället:
/etc/init.d/apache2 start|stop|reload|restart|configtest
Kör /etc/init.d/apache2
på dess egna ger ett hjälpmeddelande för att specificera de olika alternativen som listas nedan:
start – start httpd
startssl – start httpd with -DSSL
stopp – stoppa httpd (sendign SIGTERM till förälder)
försök omstart – stoppa httpd och om detta lyckas (dvs. om det körde tidigare), starta det igen.
status – kontrollera om httpd körs
starta om – stoppa httpd om det körs; starta httpd
ladda om | graciös – gör en graciös omstart genom att skicka en SIGUSR1 eller starta om den inte körs
configtest – gör ett konfigurationssyntaxtest
extreme-configtest – försök att köra httpd som ingen (upptäcker fler fel genom att faktiskt ladda konfigurationen, men kan inte läsa SSL-certifikat)
sond – sond för nödvändigheten av en omladdning, ge ut det argument som krävs för en omladdning. (genom att jämföra conf-filer med pidfile-tidsstämpel)
full-server-status – dumpa en fullständig statusskärm; kräver lynx eller w3m och mod_status aktiverat
serverstatus – dumpa en kort statusskärm; kräver lynx eller w3m och mod_status aktiverat
hjälp – den här skärmen