The W
represents a child process that is sending a reply. The
_
represents a child that is idle, waiting for an incoming
connection. Each .
represents a potential child that does not
exist yet. One slot is displayed for each potential server you have
permitted, as per MaxClients
In the example above, only one child was active, while 9 others
were waiting in the wings for incoming traffic.
It will additionally tell you how long the server has been up
since the last restart, the date and time of that last restart,
and there will be a key explaining each of the symbols appearing
in the diagram.
If you want more information than this, you need to use
ExtendedStatus
. By default set to Off
, ExtendedStatus
gives additional information about what your server is up to.
In addition the information above, you’ll also get a table
listing each child and what it is doing. It will list
the child processes that are currently active, and tell you what
resource each of them is serving, to whom, and from what virtual
host the resources are coming. (Where ”to whom” means, usually,
what IP address.)
For each child, you’ll get the PID, how many times that particular
child has been accessed, and how much CPU time it is using.
For the server, you’ll get a count of total ”hits” since server
restart, CPU usage, and a ”hits per minute” statistic, as well as
a total quantity of data that has been pushed out to clients.
For the purposes of amusing the customer, you really should turn
on ExtendedStatus
as, without it, it’s a little cryptic.
Which brings me to the rest of the above configuration.
Although it might amuse the customer to know who is accessing what
resource, you probably don’t want this information available
to the whole Internet. And, with some customers, you might not
even want them knowing this sort of thing. There are questions of
user confidentiality to be addressed, but I’ll leave that to your
own conscience for the moment.
You should restrict access to this service to hosts you know about,
and which you think should have access to the information for actual
valid reasons. There are voyeurs that get great entertainment from
watching server-status
displays to see who’s looking at what.
And this means that they are reloading every 10 seconds to see the
latest stats. This imposes an unnecessary load on your server, and
does not benefit your or your customer in any way. Hence, we have
some Deny
and Allow
rules set up in the example above,
which ensure that nobody is looking at this who should not be.
mod_info
mpd-info
is classified as an Extension module, which means that it
is not built into your copy of Apache unless you intentionally
added it in. That is, it is not built in by default.
mod_info
is less interesting to the customer, but is very useful
to the system administrator. Especially if, like me, you have a large
number of servers that you are responsible for, and you can’t for the
life of you remember what you’ve built into each.
Use the following set of directives:
SetHandler server-info Order deny,allow Deny from all Allow from .your-domain.com