• apache 指定的网络名不再可用 原因及解决方法


    1、出现问题状况

    出现问题网站:http://www.ayyzz.cn/

    前段时间作文大全网出现有时候比较慢,有时候“找不到网页”404错误;另外在error.log里也报错:

    [Mon May 07 08:32:22 2014] [warn] (OS 64)指定的网络名不再可用。 : winnt_accept: Asynchronous AcceptEx failed.

    2、网上查找到原因:

    winnt(MPM) - Apache 2.2 参考手册有下列描述
    Apache MPM winnt

    说明: 专门为Windows NT优化过的MPM
    状态: MPM
    模块名: mpm_winnt_module
    源文件: mpm_winnt.c

    该多路处理模块(MPM)是Windows NT上的默认值。它使用一个单独的父进程产生一个单独的子进程,在这个子进程中轮流产生多个线程来处理请求。

    Win32DisableAcceptEx 指令

    说明: 使用accept()代替AcceptEx()接受网络链接
    语法: Win32DisableAcceptEx
    默认值: AcceptEx()是默认的,使用这个指令将禁用它。
    作用域: server config
    状态: MPM
    模块: mpm_winnt
    兼容性: 仅在 Apache 2.0.49 及以后的版本中可用


    AcceptEx()是一个微软的WinSock2 API ,通过使用BSD风格的accept() API提供了性能改善。一些流行的Windows产品,比如防病毒软件或虚拟专用网络软件,会干扰AcceptEx()的正确操作。如果你遇到类似于如下的错误:

    [error] (730038)An operation was attempted on something that is not a socket.: winnt_accept: AcceptEx failed. Attempting to recover.

    你就需要使用这个指令来禁止使用AcceptEx() 。

    3、解决方法

    在httpd.conf文件中添加 Win32DisableAcceptEx 标记,如下:
    <IfModule mpm_winnt.c>
    ThreadsPerChild 150
    MaxRequestsPerChild 10000
    Win32DisableAcceptEx
    </IfModule>

    这样可以允许并发连接更大一些。同时性能上也不会有明显的降低。

    如果Apache的error.log还是出现大量的:Sat Dec 20 13:10:22 2014] [warn] (OS 64)指定的网络名不再可
    用。 : winnt_accept: Asynchronous AcceptEx failed。可以参考下列配置:

    1.网上邻居->本地连接->属性->internet协议(TCP/IP)->属性->高级->wins标签->去掉启用LMhosts查询前的
    勾.

    2.控制面版->windows防火墙->高级标签->本地连接设置->服务的标签里勾选安全Web服务器(HTTPS)。

    3.然后退出Apache,再打开启动就可以了 ,一开始我没有退出,直接在那重启,就是不可以,一定要先停止,在开启即可

    就这样解决了!

  • 相关阅读:
    英语46级CET外语大学词汇
    TOEFL词汇笔记英语托福英语
    19道常见的JS面试算法题
    Vue.js---指令与事件、语法糖
    Qt--多线程间的互斥
    const关键字总结
    Numpy和Pandas的使用入门
    python爬虫爬取天气数据并图形化显示
    JCEF-鼠标右键菜单
    JCEF-tab形式展示浏览器
  • 原文地址:https://www.cnblogs.com/auto6s/p/3717653.html
Copyright © 2020-2023  润新知