Windows下Apache服务搭建中的问题
最近应公司需要,需要在Windows下搭建一个BUG系统,最终选择了Mantis。
Mantis基于Apache服务器,PHP,Mysql,具体的安装教程网上很多,博主也是找了一个教程搭建完毕,如有需要的同学可以访问此链接:http://www.cnblogs.com/yangxia-test/p/4459235.html
搭建工作很easy,但是在后续使用过程中出现了卡慢的问题,博主也是各种度娘寻找解决方案,现在运行的还比较顺畅,博主把遇到的问题罗列一下,以便大家参考。
1、 Windows下Apache服务不定期重启的问题。
出现原因:
Apache服务器原本设计为linux系统服务,在Windows下有一定的兼容问题存在。
解决方案:
Httpd.conf中做如下配置:
<IfModule mpm_winnt_module> ThreadsPerChild 1920 #MaxConnectionsPerChild MaxRequestsPerChild 10000 AcceptFilter http None AcceptFilter https None </IfModule>
AcceptFilter http none、AcceptFilter https None可以解决某些浏览器如QQ、360访问造成Apache假死的状况。(在此,博主还是推荐大家,作为开发人员,一定要用一些专业的浏览器,chrome、火狐)。
2、在Apache运行中需要开启实时监控来查看Apache的运行状况。
开启方法:
在httpd.conf配置文件中做如下更改: <Location /server-status> SetHandler server-status #Order Deny,Allow #Deny from all #Allow from all </Location> ExtendedStatus On 在httpd-info.conf中 <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from all </Location> ExtendedStatus On
注意:Apache2.4版本需要开启对allow命令的支持,在httpd.conf中开启mod_access_compat模块即可。
访问监控页面:服务器ip/server-status 后边加上/?refresh=2可以指定页面刷新时间,秒为单位。
在此附上监控参数:
字段 说明 Server Version Apache 服务器的版本。 Server Built Apache 服务器编译安装的时间。 Current Time 目前的系统时间。 Restart Time Apache 重新启动的时间。 Parent Server Generation Apache 父程序 (parent process) 的世代编号,就是 httpd 接收到 SIGHUP 而重新启动的次数。 Server uptime Apache 启动后到现在经过的时间。 Total accesses 到目前为此 Apache 接收的联机数量及传输的数据量。 CPU Usage 目前 CPU 的使用情形。 _SWSS.... 所有 Apache process 目前的状态。每一个字符表示一个程序,最多可以显示 256 个程序的状态。 Scoreboard Key 上述状态的说明。以下为每一个字符符号所表示的意义: * _:等待连结中。 * S:启动中。 * R:正在读取要求。 * W:正在送出回应。 * K:处于保持联机的状态。 * D:正在查找DNS。 * C:正在关闭连结。 * L:正在写入记录文件。 * G:进入正常结束程序中。 * I:处理闲置。 * .:尚无此程序。 Srv 本程序与其父程序的世代编号。 PID 本程序的process id。 Acc 分别表示本次联机、本程序所处理的存取次数。 M 该程序目前的状态。 CPU 该程序所耗用的CPU资源。 SS 距离上次处理要求的时间。 Req 最后一次处理要求所耗费的时间,以千分之一秒为单位。 Conn 本次联机所传送的数据量。 Child 由该子程序所传送的数据量。 Slot 由该 Slot 所传送的数据量。 Client 客户端的地址。 VHost 属于哪一个虚拟主机或本主机的IP。 Request 联机所提出的要求信息。
博主碰到的问题暂时是这些,后续如果有新问题出现,还会再做更新,欢迎大家也把自己碰到的问题贴出来,共同进步。