httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From André Warnier>
Subject Re: [users@httpd] "The <apache version> service on Local Computer started and stopped"
Date Tue, 03 Jun 2008 20:39:30 GMT wrote:
> I have 1G real and 1.5G virtual RAM.
> I commented out all the modules except for the 'modules/'
> module (as that is apparently required for other code in the file to run).
> The problem remains.
If an Apache/Windows guru would like to step in, this seems to be the 
right moment.

In the meantime, let me suggest this, assuming you're desperate :
- put back all the modules you initially had
- add a new one (which you did not have initially, and which you don't 
really need) at the end of the list
- restart Apache in the command console mode

Does it get to the message loading this new module ?

(by the way, when you run in console mode, it really means "in the 
console", and it does not then run as a service.  So you will not find 
the entries about starting the Apache service in the System log.)

As a possible next step, this is what I just did :
- start the Task Manager, display running processes sorted 
alphabetically, resize Window to a manageable size.
At this point, there is no process called "httpd.exe".
- open a command window, move it so it is visible next to the Task 
Manager, and go to the top Apache dir
- in the command window, enter "bin\httpd -e debug" (like before)

When I do that, the following happens :
- initially, while displaying the messages about the modules being 
loaded, one single "httpd.exe" appears in the Task Manager
- when the loading of the modules is finished, it takes a fraction of a 
second, then a second httpd.exe process appears below the first one.
That is when on my Windows XP station, the server is ready to receive 
requests (and processes them fine).
I assume that the second process is the one containing the "threads" 
which under Windows replace the "Apache children" which process requests 
(as opposed to the main process which dispatches the requests to 
children and starts/stops children).

Now check if in your case this second process ever appears.

I attach an Apache "error.log" file which shows what was generated right 
now on my Windows XP SP2 laptop when I ran a session just like above in 
the console.
I waited a few seconds after the server was running (2 httpd processes), 
then stopped Apache in the console via CTRL-C.
Maybe by comparison with what you have, the logfile tells you something 

A couple of comments on the error.log :
1) The first lines show the "module load" messages sent by the parent 
httpd process as it configures itself.
2) Then, when it has finished, the parent creates a child process, which 
re-starts from the beginning and reconfigures itself.  This is normal, 
and is just the way Apache works.  That is when the Task Manager should 
show the second httpd process running.
At the end of that, the message
Child 3628: Starting thread to listen on port 80.
says that Apache (the child) is now up and running and listening for 
3) Then about 10 seconds later, I entered a CTRL-C in the command 
window, and Apache starts to wind down.

(1) is what you see in the console window
(2) unfortunately does not appear in the console window, because it is a 
separate process not connected to this console
(3) the CTRL-C is given to the parent, which tells the child (in the 
background) to exit. But again you won't see that in the console.  All 
you will ever see is the prompt when Apache finally stops.

View raw message