无法在 Windows 下运行 Apache:试图以访问权限禁止的方式访问套接字

无法在 Windows 下运行 Apache:试图以访问权限禁止的方式访问套接字

当我尝试在 Windows 上运行 apache 时,收到以下错误:

D:\Apps\Apache\bin>D:\Apps\Apache\bin\httpd.exe
(OS 10013)An attempt was made to access a socket in a way forbidden by its access permissions.  : AH00072: make_sock: could not bind to address [::]:80
(OS 10013)An attempt was made to access a socket in a way forbidden by its access permissions.  : AH00072: make_sock: could not bind to address 0.0.0.0:80
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs

端口80PID4占用

D:\Apps\!Hack>netstat -aon

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       4
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       1040
  TCP    0.0.0.0:443            0.0.0.0:0              LISTENING       8380

Pid 4 是System

接下来是什么?

答案1

我不知道谁还在为这个问题而苦苦挣扎。但对我来说,停止 iis 服务器有帮助。Windows 服务器始终会优先考虑端口 80 上的 IIS。停止服务器有帮助

答案2

答案3

虽然其他答案都集中在查找和停止可能在端口 80 上运行的其他程序(如果您确实希望 Apache 在 80 上监听,这很有用),但另一个选择是将 Apache 更改为在 80 以外的端口上监听。这很容易做到。

在 Apache 中查找该conf\http.conf文件,并在该文件中找到以下行:

Listen 80

将其更改为其他端口,例如 81 或 8080。保存文件,重新启动 Apache,然后查看它是否立即启动。

这种方法对于那些想要针对 Apache 以及 IIS(也许还有其他 Web 服务器)进行测试的人来说很有用,他们可以将每个服务器分配给不同的端口(让 IIS 或另一个进程在 80 上运行)。

答案4

我花了好几天的时间遵循互联网上其他 IT 专业人士的示例和建议,但大多数建议对我来说都不起作用,我猜你们大多数人都遇到了同样的问题,几乎要放弃了!不要放弃:

原因如下:我使用的是 Windows Server 2012 R2,我的 xampp 服务器运行良好,直到三天前!我检查了所有内容,但不明白为什么它无法启动!最后,我通过删除/停止网站上的站点让它正常工作IIS 绑定。

  1. 将端口从 80 更改为 8080/8081/81,只要对您合适即可。
  2. 按 Win 键 + R 并在对话框“Inetmgr”中运行以下命令,这将打开 IIS 管理器,导航到默认网站,单击它,在右侧您将看到一列,查找选项 Bidings。
  3. 单击“绑定”选项,查看您为 Xampp 服务器指定的端口是否未被使用?如果是,请选择其他端口号,并确保此端口未被分配给 IIS。

我希望这有帮助

相关内容