DirectAdmin在默认情况下,Apache的Status模块是开启的,但其配置内容并不是在我们常见的httpd.conf文件中。
而是在下面目录中:

打开文件后,将status部分内容改为下面内容
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from 60.195.252.106
Allow from 60.195.249.83
</Location>
这样,监控宝的Apache监控就能正常监控到你的DirectAdmin服务器了。
这里面默认是Deny全部来源,只允许两个监控宝的IP访问该status页面,当然,你也可以改成其他需要的。
之前总是内存吃光,今天狠下心,修改了httpd.conf配置文件
原来的prefork.c模块配置如下:

MaxRequestPerChild居然默认值为4000
简单介绍一下:
StartServers:服务器启动时建立的子进程数
MinSpareServers:空闲子进程的最小数量
MaxSpareServers:空闲子进程的最大数量
ServerLimit:服务器允许配置的进程数上限
MaxClients:允许同时伺服的最大接入请求数量
MaxRequestsPerChild:每个子进程在其生存期内允许伺服的最大请求数量
现在修改为
StartServers 5
MinSpareServers 5
MaxSpareServers 20
ServerLimit 128
MaxClients 128
MaxRequestsPerChild 1000
其实自己也不知道这样的配置合理不合理,欢迎大家来压力测试
PS:有一个疑问,Apache MPM有2种工作模式,一种是prefork MPM,一种是worker MPM,但是我怎么知道现在是以哪种模式运行呢?我在httpd.conf里面没有找到相关的选择开关,同时,我上面修改的只是修改了prefork MPM模式。