apache无法启动,提示是“windows无法在本地启动apache2.2。。。”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache无法启动,提示是“windows无法在本地启动apache2.2。。。”相关的知识,希望对你有一定的参考价值。

这到底是怎么回事啊?昨天还好好的啊。。。!查了一下资料,说是hpptd.conf出了问题。。。这怎么办呢?有大虾可以指教一下么?谢谢了~~~

我的解决方法是每次开机先 重置 “本地连接-属性-TCP/IP-高级-win选项卡里的LMHOSTS ” 就是它以前有钩就去了 没有就添上 然后启动APACHE 然后再登陆DR.COM

还有2种方法就是每次开机改注册表或者每次关机前卸载DR.COM
参考技术A 原因就是端口冲突了,你可能是没有改端口,默认是80,把C:\AppServ\Apache2.2\conf下的httpd文件下的端口改下重启apache2.2好了追问

呵呵。。。感谢今天还回答了很久以前的问题。。。
------------
当年我还什么都不懂,现在都知道啦!嘿嘿!

追答

不好意思,岁然没帮到你什么忙,但是我还是希望有人对同样的问题能够解决,有时间大家交流一下技术问题行吗?

Windows 无法在本地计算机上启动 Apache2 - 问题

【中文标题】Windows 无法在本地计算机上启动 Apache2 - 问题【英文标题】:Windows could not start the Apache2 on Local Computer - problem 【发布时间】: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

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

【问题讨论】:

【参考方案1】:

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

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

纠正它的方法是关闭使用端口 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 不能一起工作。如果有人知道任何解决方法,请告诉我们。

【讨论】:

见***.com/questions/431041/…【参考方案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

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

【讨论】:

以上是关于apache无法启动,提示是“windows无法在本地启动apache2.2。。。”的主要内容,如果未能解决你的问题,请参考以下文章

Apache2.2 提示the requested operation has failed并无法启动

Apache无法启动提示the requested operation has failed

解决SELinux导致Apache更改端口后无法启动的问题

解决Apache/PHP无法启动的问题

xampp 启动apache 提示:Error: Apache shutdown unexpectedly.

在windows下以服务的方式启动时提示如下: “windows 不能在 本地计算机 启动 Apache。