Apache 2: Reload HTTPD Configuration File Without Restarting Apache Config Changes

by on April 28, 2013 · 3 comments· LAST UPDATED April 28, 2013

in , ,

I made changes to the httpd.conf file. How do I reload the new config changes without restarting the Apache 2 web server under Debian / CentOS Linux operating systems?

Yes, you can gracefully restart the Apache v1.x or v2.x httpd daemon under Linux or Unix like operating systems. You can send the following signals to httpd to start, restart, reload, or stop the server:
Tutorial details
DifficultyEasy (rss)
Root privilegesYes
Requirementsapachectl/service command
Estimated completion timeN/A
  1. start
  2. restart
  3. graceful
  4. stop
  5. graceful-stop

A note about graceful Apache webserver restart

You need to send USR1 signal to the apache server:

This (USR1) signal causes the parent process to advise the children to exit after their current request (or to exit immediately if they're not serving anything). The parent re-reads its configuration files and re-opens its log files. As each child dies off the parent replaces it with a child from the new generation of the configuration, which begins serving new requests immediately.

Command syntax to gracefully restart the Apache 1.x/2.x after changing config file

Type the following command as a root user:

 
apachectl -k graceful
 

OR

 
apache2ctl -k graceful
 

You can also use Linux distro specific Sys V init script as follows to gracefully reload the server. The following example works on RHEL/CentOS Linux and friends only:

 
/etc/init.d/httpd graceful
 

OR

 
/sbin/service httpd graceful
 

Debian / Ubuntu Linux and friends use the following syntax:

 
/etc/init.d/apache2 reload
 

Monitoring apache progress

After you have signaled Apache 2, you can read apache error_log file about its progress by issuing the following tail command:

 
## For RHEL / CentOS and friends ##
tail -f /var/log/httpd/error_log
 
## For  Debian / Ubuntu and friends ##
tail -f /var/log/apache2/error.log
 
## FreeBSD Unix ##
tail -f /var/log/httpd-error.log
 
TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 3 comments… read them below or add one }

1 BT April 29, 2013 at 2:25 pm

Thanks for the helpful information. How would the graceful restart work if I have a password protected SSL Certificate and must type in a password every time I restart Apache?

Reply

2 Ben May 1, 2013 at 7:10 pm

I would suggest checking the integrity of the modified config file before issuing the graceful restart. Without checking, your HTTPD server could stop running if it tries to load a config file with a syntax error.

apachectl configtest

then

apachectl graceful (The -k isn’t necessary)

Reply

3 liamg July 27, 2013 at 6:22 pm

how we can do the same in Windows ?

Reply

Leave a Comment

Tagged as: , , , , ,

Previous Faq:

Next Faq: