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

时间:2008-10-12 16:13:15

标签: windows windows-xp apache2

在安装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   本地电脑。欲获得更多信息,   查看系统事件日志。如果这   是非Micorsoft服务,联系   服务供应商,并参考   特定于服务的错误代码1.

Apach2版本是2.2.9

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

20 个答案:

答案 0 :(得分:134)

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

  1. Skype(侦听端口80)
  2. NOD32(将Apache添加到IMON例外列表中以允许apache绑定)
  3. 其他一些防病毒软件(与上述相同)
  4. 纠正它的方法是关闭使用端口80的程序,或者将其配置为使用不同的端口,或者将Apache配置为使用httpd.conf中的Listen指令侦听不同的端口。在防病毒的情况下,配置防病毒以允许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
    

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

答案 1 :(得分:99)

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

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

我有相同的错误消息,结果是一个未命中的ServerRoot路径。即使在运行setup_xampp.bat之后,httpd.conf也有错误的路径。

我的error.log为空,启动该服务并未提供信息性错误消息。

答案 2 :(得分:22)

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

答案 3 :(得分:5)

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

所以最终解决方案是停止IIS。它起作用了:))

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

答案 4 :(得分:4)

如Tim所述,从命令行运行httpd.exe。 PostgreSQL的路径发生了变化,没有其他东西在端口80上运行,我在error.log文件中没有看到任何内容。

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

答案 5 :(得分:3)

按照此步骤,它将正常工作。  转到控制面板 - > 程序和功能 - >点击打开和关闭Windows功能 - >请参阅是否已选中IIS 如果选中,请取消 IIS 并取消启动计算机。启动服务后,请参阅 Web部署代理服务状态(如果已启动)请停止。如果未启动,请参阅 WampAppache和WampSqlID ,请手动启动。它对我有用。

答案 6 :(得分:3)

嗨,我今天也遇到了这个问题。 并且事件查看器中的日志错误如下所示 名为Apache的服务报告了以下错误:

  
    
      

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

             

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

    
  

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

  • 没有从父母那里获得许可......

  • 请添加所有用户

答案 7 :(得分:2)

如果appache和IIS一次都在运行,那么就有可能挂起apache服务,,,,

当我停止所有IIS网站一次然后重新启动apache服务并且它适用于我.... Jai ...

答案 8 :(得分:2)

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

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

答案 9 :(得分:1)

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

答案 10 :(得分:1)

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

  • 两人认为应该保持谨慎。 1)端口应该不同 2)停止那些可以在端口80上的服务

答案 11 :(得分:1)

始终仔细检查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指向驱动器中必须存在的文件夹。

答案 12 :(得分:1)

是的,我必须更改端口:80到:90作为端口:80正忙于其他系统资源。

您可以在Apache2.2 \ logs

的文件夹中查看日志

谢谢,

答案 13 :(得分:1)

我有两次这个问题。第一个问题是使用此页面上的标记答案修复的(谢谢你)。然而,第二次证明有点困难。

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

答案 14 :(得分:1)

从控制面板中删除apache并从Program Files中删除apache文件夹并重新启动计算机,然后再次安装apache。这样可以解决问题;如果不这样做:安装IIS如果没有安装,然后启动IIS并停止它...使用服务启动apache服务...享受apache。

答案 15 :(得分:0)

我也遇到了同样的问题。解决方案是转到添加或删除程序,然后单击打开或关闭转动窗口功能。关闭IIS。那就是关闭'互联网信息服务'和'互联网信息服务可移动网络核心'。我选择剩下的功能了。计算机将要求重新启动系统。重新启动您的计算机,然后安装apache http服务器。我知道了。服务器成功运作......

答案 16 :(得分:0)

感谢帮助人员。我找到了另一个罪魁祸首。最近,SimplifyMedia添加了照片共享选项。显然它也使用端口80并阻止Apache启动。我希望这可以帮助别人。

答案 17 :(得分:0)

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

答案 18 :(得分:0)

Windows 10 - 管理员帐户

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

httpd.exe -k install

无法添加具有足够用户权限的设置。

答案 19 :(得分:0)

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

C:\ Apache24 \ bin > httpd.exe

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