]> granicus.if.org Git - apache/commitdiff
Document the problem of config file errors.
authordgaudet <dgaudet@unknown>
Wed, 30 Apr 1997 22:57:47 +0000 (22:57 +0000)
committerdgaudet <dgaudet@unknown>
Wed, 30 Apr 1997 22:57:47 +0000 (22:57 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@78071 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/stopping.html
docs/manual/stopping.html.en

index e333deb851f06dd4291bd66ff5a98a487a67d3ea..7e6e835a8a3e1f3b469604246fd3ad49117f6d92 100644 (file)
@@ -52,6 +52,10 @@ serving hits.
 will notice that the server statistics are
 set to zero when a <code>HUP</code> is sent.
 
+<p><b>Note:</b> If your configuration file has errors in it when you issue a
+restart then your parent will not restart, it will exit with an error.
+See below for a method of avoiding this.
+
 <h3>USR1 Signal: graceful restart</h3>
 
 <p><b>Note:</b> prior to release 1.2b9 this code is quite unstable and
@@ -97,6 +101,20 @@ old log.  For example if most of your hits take less than 10 minutes to
 complete for users on low bandwidth links then you could wait 15 minutes
 before doing anything with the old log.
 
+<p><b>Note:</b> If your configuration file has errors in it when you issue a
+restart then your parent will not restart, it will exit with an error.
+In the case of graceful
+restarts it will also leave children running when it exits.  (These are
+the children which are "gracefully exiting" by handling their last request.)
+This will cause problems if you attempt to restart the server -- it will
+not be able to bind to its listening ports.  At present the only work
+around is to check the syntax of your files before doing a restart.  The
+easiest way is to just run httpd as a non-root user.  If there are no
+errors it will attempt to open its sockets and logs and fail because it's
+not root (or because the currently running httpd already has those ports
+bound).  If it fails for any other reason then it's probably a config file
+error and the error should be fixed before issuing the graceful restart.
+
 <h3>Appendix: signals and race conditions</h3>
 
 <p>Prior to Apache 1.2b9 there were several <i>race conditions</i>
index e333deb851f06dd4291bd66ff5a98a487a67d3ea..7e6e835a8a3e1f3b469604246fd3ad49117f6d92 100644 (file)
@@ -52,6 +52,10 @@ serving hits.
 will notice that the server statistics are
 set to zero when a <code>HUP</code> is sent.
 
+<p><b>Note:</b> If your configuration file has errors in it when you issue a
+restart then your parent will not restart, it will exit with an error.
+See below for a method of avoiding this.
+
 <h3>USR1 Signal: graceful restart</h3>
 
 <p><b>Note:</b> prior to release 1.2b9 this code is quite unstable and
@@ -97,6 +101,20 @@ old log.  For example if most of your hits take less than 10 minutes to
 complete for users on low bandwidth links then you could wait 15 minutes
 before doing anything with the old log.
 
+<p><b>Note:</b> If your configuration file has errors in it when you issue a
+restart then your parent will not restart, it will exit with an error.
+In the case of graceful
+restarts it will also leave children running when it exits.  (These are
+the children which are "gracefully exiting" by handling their last request.)
+This will cause problems if you attempt to restart the server -- it will
+not be able to bind to its listening ports.  At present the only work
+around is to check the syntax of your files before doing a restart.  The
+easiest way is to just run httpd as a non-root user.  If there are no
+errors it will attempt to open its sockets and logs and fail because it's
+not root (or because the currently running httpd already has those ports
+bound).  If it fails for any other reason then it's probably a config file
+error and the error should be fixed before issuing the graceful restart.
+
 <h3>Appendix: signals and race conditions</h3>
 
 <p>Prior to Apache 1.2b9 there were several <i>race conditions</i>