3.12. Restarts

A webmaster will sometimes want to kill Apache and restart it with a new Config file, often to add or remove a virtual host. This can be done the brutal way, by stopping httpd and restarting it. This method causes any transactions in progress to fail in what may be an annoying and disconcerting way for the clients. A recent innovation in Apache was a scheme to allow restarts of the main server without suddenly chopping off any child processes that were running.

   There are three ways to restart Apache under Unix:

  •    Kill and reload Apache, which then rereads all its Config files and restarts:

    % kill 
                      PID
    % httpd 
                      [
                      flags
                      ]
                   

  •    The same effect is achieved with less typing by using the flag -HUP to kill Apache:

    % kill -HUP 
                      PID
                   

  •    A graceful restart is achieved with the flag -USR1. This rereads the Config files but lets the child processes run to completion, finishing any client transactions in progress, before they are replaced with updated children. In most cases, this is the best way to proceed, because it won't interrupt people who are browsing at the time (unless you messed up the Config files):

    % kill -USR1 
                      PID
                   

  •    A script to do the job automatically (assuming you are in the server root directory when you run it) is as follows:

    #!/bin/sh
    kill -USR1 `cat logs/httpd.pid`

   Under Win32 it is enough to open a second MS-DOS window and type:

            apache -k shutdown|restart
            
         

   See Section 2.2 in Chapter 2.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.133.109.30