【问题标题】:Windows could not start the Apache2 on Local Computer - problemWindows 无法在本地计算机上启动 Apache2 - 问题
【发布时间】:2010-09-16 18:36:17
【问题描述】:

在安装 Apache2 期间,我在 cmd 窗口中收到以下消息:

安装Apache2.2服务 Apache2.2服务成功 安装。测试 httpd.conf....

此处报告的错误必须更正 在服务可以启动之前。 httpd.exe:不能可靠 确定服务器的完全合格 域名,使用 192.168.1.3 ServerName (OS 10048)只有一种用法 每个套接字地址(协议/网络 地址/端口)通常是允许的。 : make_sock: 无法绑定到地址 0.0.0.0:80 没有可用的监听套接字,正在关闭 无法 打开日志注意错误或消息 上,然后按 键 出口。 24...

安装后一切看起来都很好,但事实并非如此。如果我尝试启动服务,则会收到以下消息:

Windows 无法启动 Apache2 本地计算机。了解更多信息, 查看系统事件日志。如果这 是非 Microsoft 服务,请联系 服务供应商,并参考 服务特定的错误代码 1。

Apache2版本为2.2.9

有没有人有同样的问题,或者可以帮助我。

【问题讨论】:

    标签: windows windows-xp apache2


    【解决方案1】:

    还有一些其他程序在监听 80 端口,通常的嫌疑人是

    1. Skype(监听端口 80)
    2. NOD32(将 Apache 添加到 IMON 例外列表中以允许 apache 绑定)
    3. 其他一些杀毒软件(同上)

    纠正它的方法是关闭使用端口 80 的程序,或者将其配置为使用不同的端口,或者使用 httpd.conf 中的 Listen 指令将 Apache 配置为侦听不同的端口。在防病毒的情况下,将防病毒配置为允许 Apache 绑定到您选择的端口。

    诊断绑定到端口 80 的应用程序(如果有)的方法是使用这些选项运行 netstat,查找本地 IP 地址旁边的 :80(第二列)并找到 PID(最后一列)。然后,在任务管理器中,您可以找到哪个进程具有您在上一步中获得的 PID。 (您可能需要在任务管理器中添加 PID 列)

    C:\Users\vinko>netstat -ao -p tcp

    Conexiones activas
    
      Proto  Dirección local          Dirección remota        Estado           PID
      TCP    127.0.0.1:1110         127.0.0.1:51373        TIME_WAIT       0
      TCP    127.0.0.1:1110         127.0.0.1:51379        TIME_WAIT       0
      TCP    127.0.0.1:1110         127.0.0.1:51381        ESTABLISHED     388
      TCP    127.0.0.1:1110         127.0.0.1:51382        TIME_WAIT       0
      TCP    127.0.0.1:1110         127.0.0.1:51479        TIME_WAIT       0
      TCP    127.0.0.1:1110         127.0.0.1:51481        TIME_WAIT       0
      TCP    127.0.0.1:1110         127.0.0.1:51483        TIME_WAIT       0
      TCP    127.0.0.1:1110         127.0.0.1:51485        ESTABLISHED     388
      TCP    127.0.0.1:1110         127.0.0.1:51487        TIME_WAIT       0
      TCP    127.0.0.1:1110         127.0.0.1:51489        ESTABLISHED     388
      TCP    127.0.0.1:51381        127.0.0.1:1110         ESTABLISHED     5168
      TCP    127.0.0.1:51485        127.0.0.1:1110         ESTABLISHED     5168
      TCP    127.0.0.1:51489        127.0.0.1:1110         ESTABLISHED     5168
      TCP    127.0.0.1:59264        127.0.0.1:59265        ESTABLISHED     5168
      TCP    127.0.0.1:59265        127.0.0.1:59264        ESTABLISHED     5168
      TCP    127.0.0.1:59268        127.0.0.1:59269        ESTABLISHED     5168
      TCP    127.0.0.1:59269        127.0.0.1:59268        ESTABLISHED     5168
      TCP    192.168.1.34:51278     192.168.1.33:445       ESTABLISHED     4
      TCP    192.168.1.34:51383     67.199.15.132:80       ESTABLISHED     388
      TCP    192.168.1.34:51486     66.102.9.18:80         ESTABLISHED     388
      TCP    192.168.1.34:51490     74.125.4.20:80         ESTABLISHED     388
    

    如果你想禁止 Skype 监听 80 和 443 端口,你可以点击链接http://www.mydigitallife.info/disable-skype-from-using-opening-and-listening-on-port-80-and-443-on-local-computer/

    【讨论】:

    • 是的,我讨厌 Skype 尝试使用端口 80... 我有时会忘记更改它,然后当我尝试测试我编写的一些 Web 内容时,Apache 将无法启动。
    • 看起来像一个新的 nod32 问题:(
    • 将 Apache 添加到其例外列表以允许其绑定到端口 80
    • 您可能希望将 netstat 上方更改为:netstat -aon | findstr :80 或什至 netstat -aon | findstr /r ":80[^0-9]" 以更快地获取线路。您也可以通过运行wmic process list brieftasklist 来获取pid。
    • 我们可以在以下位置更改Skype的访问端口:工具->选项->高级->连接将出现带有文本“使用端口80 ...”的复选框,只需取消选中并重新启动Skype进行测试,访问端口将被更改
    【解决方案2】:

    我希望这可以帮助其他人解决此错误。

    从命令行运行 httpd.exe 以获得对问题的准确描述。

    我收到了同样的错误消息,结果证明是未配置的 ServerRoot 路径。即使在运行 setup_xampp.bat 之后,httpd.conf 的路径也是错误的。

    我的 error.log 是空的,并且启动服务没有给出信息性错误消息。

    【讨论】:

    • 这个答案对我很有帮助。当我尝试通过启动服务来启动 Apache 时,我收到了一条通用错误消息。当我尝试从命令窗口运行 C:\Program Files (x86)\Apache Software Foundation\Apache2.2\bin\httpd.exe 时,它​​准确地告诉我配置文件中它不喜欢的行。
    • 这个!只需Run the httpd.exe from the command line。它会准确地告诉你出了什么问题。我仍然很困惑为什么 XAMPP 的控制面板不提供错误输出。
    • 很好的答案。在我的情况下,它原来是一个 Skype 服务在端口 443 上侦听阻塞 apache,即使我在端口 80 上运行 apache!
    • 绝妙的答案。经过大量的砖墙后,这提供了解决方案的途径 - 谢谢!同意@NathanJ.Brauer 的观点,不幸的是 XAMPP 没有中继/显示此错误信息。
    • 七年后,你刚刚救了我的培根。我也同意@NathanJ.Brauer 的观点,因为 CMD 可以准确地告诉您问题出在哪里,并且 XAMPP 的控制面板需要在这方面进行更新。作为记录,我使用的是 Windows 10,XAMPP 3.2.2,错误是:Syntax error on line 39 of D:/XAMPP/apache/conf/httpd.conf: ServerRoot must be a valid directory
    【解决方案3】:

    解决问题的更好方法是更改​​ Apache2\conf\httpd.conf 中的端口号。更改端口号为 fallows::: Listen 8888 和 ServerName machinename:8888 。更改端口号后重启Apache服务器。

    【讨论】:

    • 不需要重新安装服务器;它只需要重新启动(实际上是启动,因为它一开始没有运行)。此外,这只解决了您不介意在另一个端口上运行 Apache 的情况。
    【解决方案4】:

    我遇到了同样的问题。我检查了 netstat,其他进程正在运行,防火墙并更改了 httpd.conf,停止了防病毒,但我所有的努力都是徒劳的。 :(

    所以最终解决方案是停止 IIS。它奏效了:)

    我猜 IIS 和 apache 不能一起工作。如果有人知道任何解决方法,请告诉我们。

    【解决方案5】:

    正如 Tim 所说,从命令行运行 httpd.exe。 PostgreSQL 的路径已更改,端口 80 上没有运行其他任何内容,我在 error.log 文件中没有看到任何内容。

    一旦基础设置完成,我就会克隆我的引导驱动器/分区,这样我就不必花费三天时间安装和重新调整所有内容。轮到我重新安装了我的 WAPP 堆栈并为 PostgreSQL 使用了非常具体的名称/版本。 除非您从命令行运行该命令,否则 Windows 不会返回特定的错误消息。

    【讨论】:

    • 这是对我有用的方法。通过 CMD 行运行,我看到 vhosts.conf 中有一个错误,只有在计算机重新启动时才抬起它丑陋的头。要通过 Windows 中的命令行运行,请在开始菜单 > 搜索框中输入 CMD,然后输入 httpd.exe 的路径。要找到 httpd.exe 的路径,一种方法是从搜索框中运行“服务”,找到 Apache,右键单击它,然后复制“可执行文件的路径”。您可以通过右键单击将其粘贴到 CMD 中。
    【解决方案6】:

    按照此步骤操作即可。 转到控制面板-->程序和功能-->点击打开和关闭Windows功能-->查看IIS是勾选或不勾选如果勾选请取消勾选IIS并重新启动计算机。之后打开服务查看Web Deployement Agent服务状态如果已启动请停止。同时查看WampAppache 和 WampSqlID 如果没有启动,请手动启动。它对我有用。

    【讨论】:

      【解决方案7】:

      嗨,我今天也遇到了这个问题。 事件查看器中的日志错误如下 Apache服务name报如下错误:

      1.Wrapper php-cgi.exe 无法访问:(720005)访问被拒绝。

      2.apache服务监控:请求的操作失败

      这是实际的访问问题。所以流动的解决方案是帮助我 更改 php-cgi.exe 安全属性

      • 没有从父母那里继承权限...

      • 请添加所有人用户

      【讨论】:

        【解决方案8】:

        如果 appache 和 IIS 同时运行,那么就有可能挂起 apache 服务,,,,

        当我停止所有 IIS 网站,然后重新启动 apache 服务,它对我有用....Jai...

        【讨论】:

          【解决方案9】:

          Windows Vista Home Premium 操作系统问题:解决问题的最简单方法是更改​​ Apache2\conf\httpd.conf 中的端口号。

          在以下行中更改端口号。 'Listen' 从 80 到 8888 和 'ServerName' 机器名(例如:localhost)从 80 到 8888。保存然后关闭。打开 Apache Service Monitor 并重新启动服务或转到计算机管理 > 服务并找到 Apache 2.2 并启动或重新启动。

          【讨论】:

            【解决方案10】:

            从控制面板中删除 apache 并从 Program Files 中删除 apache 文件夹并重新启动机器,然后再次安装 apache。这将解决问题;如果没有,请执行以下操作:安装 IIS 如果未安装,则启动 IIS 并停止它...使用服务启动 apache 服务...享受 apache。

            【讨论】:

              【解决方案11】:

              我遇到过两次这个问题。使用此页面上的标记答案解决了第一个问题(谢谢)。然而,第二次证明有点困难。

              我发现在我的 httpd-vhosts.conf 文件中,我在将文档根目录分配给域名时犯了一个错误。解决这个问题解决了我的问题。非常值得检查(甚至恢复为空白副本)您的 httpd-vhosts.conf 文件是否有任何错误和拼写错误。

              【讨论】:

                【解决方案12】:

                如果您使用的是 windows 操作系统并且认为 skype 不是嫌疑人,那么您可能需要检查任务管理器并检查“显示所有用户的进程”并确保没有 httpd.exe 条目。否则,结束其进程。这解决了我的问题。

                【讨论】:

                  【解决方案13】:

                  是的,我不得不将端口 :80 更改为 :90,因为端口 :80 正被其他系统资源占用。

                  可以在Apache2.2\logs文件夹下看到日志

                  谢谢,

                  【讨论】:

                    【解决方案14】:

                    始终仔细检查 httpd.conf 以查看文档根目录是否正确指向现有文件夹

                    #if you have c:\your-main-folder\www\
                    DocumentRoot "c:/your-main-folder/www/" 
                    
                    #if you have c:\your-main-folder\www\sub-folder\
                    DocumentRoot "c:/your-main-folder/www/sub-folder/" 
                    

                    DocumentRoot 指向驱动器中必须存在的文件夹。

                    【讨论】:

                      【解决方案15】:

                      我遇到了同样的问题。当我重新启动我的 wamp 时,它变成黄色图标但不是绿色。 在服务中,我停止所有 sql server 服务。之后它对我有用..

                      • 二想应该小心点。 1)端口应该不同 2 ) 停止那些可以在端口 80 上的服务

                      【讨论】:

                        【解决方案16】:

                        我遇到了同样的问题,在我的情况下,我需要在 httpd.conf 中添加模块
                        文件不完整,关键字不正确(如 LoadModule)
                        转到命令行,转到 C:\Apache24\bin

                        C:\Apache24\bin > httpd.exe

                        错误原因可以从上述命令的输出中得知

                        【讨论】:

                          【解决方案17】:

                          感谢各位的帮助。我发现了另一个罪魁祸首。最近 SimplifyMedia 添加了照片共享选项。显然它也使用端口 80 并阻止 Apache 启动。我希望这对某人有所帮助。

                          【讨论】:

                            【解决方案18】:

                            我也遇到了同样的问题。解决方案是转到添加或删除程序,然后单击打开或关闭 Windows 功能。关闭 IIS。即关闭“互联网信息服务”和“互联网信息服务可移动网络核心”。我选择了其余的功能都开启了。计算机将要求重新启动系统。重新启动您的计算机,然后安装 apache http 服务器。我得到了它。服务器成功运行...

                            【讨论】:

                              【解决方案19】:

                              对我来说,这是将文档根目录(httpd.conf)设置为一个不存在的目录(我刚刚清空了以前项目的 htdocs)的结果。

                              【讨论】:

                                【解决方案20】:

                                Windows 10 - 管理员帐户

                                我需要在 Windows 服务中将帐户切换为管理员类型帐户

                                httpd.exe -k install
                                

                                未能添加具有足够用户权限的设置。

                                【讨论】:

                                  猜你喜欢
                                  • 2016-12-18
                                  • 1970-01-01
                                  • 2014-04-29
                                  • 1970-01-01
                                  • 2020-03-19
                                  • 2013-12-26
                                  • 1970-01-01
                                  • 1970-01-01
                                  • 1970-01-01
                                  相关资源
                                  最近更新 更多