• FreeBSD下Apache卡死问题的解决方法

    [Apache]
    post by Holmesian / 2010-1-23 14:53 Saturday

    服务器操作系统:FreeBSD7

    前端Nginx 后端Apache22(通过FreeBSD的Ports安装)

    这段时间服务器老是提示Nginx 502 Bad Gateway错误,经检查前端Nginx正常,后端Apache卡死,拒绝一切连接。必须重启后端Apache才能

     

    查询日志有如下内容

     

    网上搜索说是在FreeBSD下使用ports安装apache22会出现类似的warming:

     

    Failed to enable the 'httpready' Accept Filter

    据说这是Apache21和FreeBSD之间Bug!

    解决方法是:
    #kldload accf_http

    并在/boot/defaults/loader.conf中添加如下内容,以便下次启动自动装载模块
    accf_data_load="YES"
    accf_http_load="YES"


    Apache会卡死是因为FreeBSD自带的一个基于http端口过滤的模块不能加载。这个模块的作用是检查HTTP请求是否完整,如果请求是符合规则的则通过,反之就
    扔掉。

    [Fri Jan 22 00:54:49 2010] [error] [client 218.93.17.38] File does not exist: /usr/local/www/apache22/data/qqblog
    [Fri Jan 22 00:54:49 2010] [error] [client 220.181.94.221] File does not exist: /usr/local/www/apache22/data/html
    [Fri Jan 22 12:24:11 2010] [warn] (22)Invalid argument: Failed to enable the 'httpready' Accept Filter
    [Fri Jan 22 12:24:12 2010] [notice] Digest: generating secret for digest authentication ...
    [Fri Jan 22 00:54:49 2010] [error] [client 218.93.17.38] File does not exist: /usr/local/www/apache22/data/qqblog
    [Fri Jan 22 00:54:49 2010] [error][client 220.181.94.221] File does not exist: /usr/local/www/apache22/data/html
     

    说两句:

    久酷
    2010-01-24 00:10
    我那儿之前也总出现502 是php的问题了解 那是因为FastCGI配置的问题   这里提到的这个问题不是那一类

    说到底纯粹是Apache的问题
    zoooro
    2010-01-23 17:18
    只用过ubantu (没拼错吧~~~)如果说的是Ubuntu的话  那就是拼错了……  呵呵

    Ubuntu Server版的话一般般  还过得去  
    做服务器一般Linux我选CentOS
    Unix就选FreeBSD啦 呵呵

    发表评论: