I have apache in front of Tomcat, using mod_rewrite
and mod_proxy
to relay requests while serving static content directly.
The Tomcat server can get bogged down and stop responding, or just plain crash. My problem is that in those cases it takes the apache httpd down with it. And it won't come back up even after I set Tomcat straight.
When this happens, the only way to get apache working again is to issue a stop command, then kill -9
remaining apache processes, and lately I also had to run ipcrm
to remove semaphores, otherwise I get a "No space left on device" error.
My guess is that all of apache's workers become proxy threads, waiting to time out, while nothing else is being served.
I don't want to change the ProxyTimeout
, because during normal operation, some requests can really take a long time. But I would like a way to tell apache to stop all the waiting proxy requests it has right now and start afresh.
Is there such a thing, or is there another way I should approach this?
I'm using ubuntu 8.04.