httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rich West <Rich.W...@wesmo.com>
Subject [users@httpd] Apache not forking as the webserver user?!
Date Tue, 21 Dec 2004 18:04:41 GMT
I *think* this is the right place to ask...

We're having a situation when mod_fastcgi is enabled in the httpd.conf 
file where the web server starts up some of the child processes as the 
web server user and the rest of the child processes get started up as 
"root".

Here's some background:
We've recently started experiencing problem where the webserver would 
stop responding around 4:20am.  Restarting the webserver via the init 
script (This is a Fedora Core 2 system) would return functionality.  But 
the problem would happen again the next morning.

Further investigation showed that logrotate was coming along at 4:20am, 
rotate the files, then send the process a USR1.  It was at this point 
that the web server would stop responding.  We disabled the log rotate, 
but that only stopped the symptom, not the cause of the problem.

In looking even further, and now that we knew how to test it, we 
discovered that, upon start up, several of the child processes were 
running as "root".  This was obviously wrong since we run the server 
under a different user.  Quickly, we discovered that if we sent the 
server a USR1 with those "root" owned children, the properly running 
children would exit nicely, but the "root" owned ones would hang 
around.  The result was that the server would never restart properly and 
remain in a vegitative state.

We tried several different iterations of testing, including recompiling 
the only two optional modules we use (mod_auth_ldap2 and mod_fastcgi), 
with no change in the results.  The ONLY time anything changed was when 
we disabled mod_fastcgi all together.

Here's where we are at:
mod_fastcgi is completly disabled.  However, we require that 
functionality for a specific application purpose (two, in fact).  When 
mod_fastcgi is enabled, it fires up properly, is owned by the web user, 
and it's processes are owned by the web user as they should be.  It's 
the apache children that are 'confused'.

Is there any way to tell (aside from "strace"ing the httpd process on 
startup) why it would not be changing the effective UID as it should?

Thanks!
-Rich

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Mime
View raw message