140

我安装了 XAMPP 1.6.8,但由于某种原因它不起作用。后来意识到80端口不是空闲的或者没有监听。我怎样才能释放它或让它免费?

非常感谢!

4

18 回答 18

132

那个痛苦已经为我解决了。我发现接管 80 端口的是 http api 服务。我在cmd中写道:

net stop http

询问我“以下服务将停止,您要继续吗?” 按 y

它实际上停止了许多服务。

然后写了localhost,wallah,Apache 在 80 端口上启动并运行。
希望这会有所帮助

重要提示:Skype 默认使用端口 80,您可以在 Skype 选项 > 高级 > 连接中更改此设置 - 并取消选中“使用端口 80”

于 2013-04-26T18:52:19.850 回答
70

netstat -ano

这将显示正在侦听端口 80 的进程的 PID。之后,打开任务管理器 -> 进程选项卡。从View -> Select Columns菜单中,启用该PID列,您将看到侦听端口 80 的进程的名称。

于 2009-04-25T06:46:06.740 回答
43

netstat -a -b

应该告诉你什么程序绑定到端口 80

于 2009-04-25T06:32:16.180 回答
43

之前遇到过这个问题

如果您看到任务管理器(启用 PID 视图后),您会发现 PID=4 是“NT 内核和系统正在使用的端口 80;”

只是去

  1. 控制面板
  2. 程式
  3. 打开/关闭 Windows 功能
  4. 检查是否检查了World wide web servicesIIS

如果是这样,请取消选中并再次 netstat(或 TCPVIEW)以查看 80 是否空闲。

于 2012-07-21T22:39:43.143 回答
37

在提升的命令提示符下使用netstat -bano查看哪些应用正在侦听哪些端口。

但通常以下应用程序在 Windows 中使用端口 80。

  1. IIS
  2. 万维网出版服务
  3. IIS 管理服务
  4. SQL Server 报告服务
  5. Web 部署代理服务

如果正在运行,请停止上面的应用程序并检查!!!

于 2013-08-09T09:41:10.713 回答
19

使用TcpView查找监听端口的进程并关闭该进程。

于 2009-04-25T06:28:16.143 回答
7

尝试

netstat -anb -p tcp

显示端口和进程

于 2009-04-25T06:37:52.750 回答
7

其他尝试的选项是停止 SQL Server Reporting Services。

于 2011-01-21T10:55:48.067 回答
6

在命令行中输入“netstat -ano”。我看到它显示了本地地址端口 0.0.0.0:80 的内容。

我的问题是因为我在端口 80 上有 SQL Server Reporting Services。所以我按照这些说明将端口号从 80 更改为 81:

http://seankilleen.com/2012/11/how-to-stop-sql-server-reporting-services-from-using-port-80-on-your-server-field-notes/

这是我更改 SQL Server Reporting Services 的端口号后的命令行图片:

在此处输入图像描述

如果您仍然遇到同样的问题,请阅读此论坛:

http://forum.wampserver.com/read.php?2,66196,66233#REPLY

于 2015-03-06T21:38:03.013 回答
6

您可以使用net stop http它将显示正在使用的进程。大多数万维网服务正在使用

于 2015-02-06T19:01:27.573 回答
6

我试图nginx从这里安装 - http://nginx.org/en/docs/windows.html

转到http://localhost/ 会显示一些东西,至少是一个正确的“未找到”消息
这是因为 80 是默认端口,它被其他进程占用。

现在运行以下命令:

net stop http

    // Above command stopped below services  
    // - SSDP Discovery  
    // - Print Spooler  
    // - BranchCache  
    // - Function Discovery Resource Publication  
    // - Function Discovery Provider Host  

现在,访问http://localhost/ 将失败并显示链接页面消息损坏。

主进程是BranchCache
这个进程,停止后,将在几秒钟后重新启动。
所以我们需要尽快运行其他我们需要的命令,下面是一个例子:

// this will stop
net stop http

// immeidately run other command you want to
start nginx

现在,去http://localhost/ 给了我:

Welcome to nginx!

希望有帮助。

于 2019-10-13T17:22:11.103 回答
4

这只是一个猜测,但由于端口 80 是 HTTP 的常规端口,您的系统上可能正在运行一个网络服务器。IIS 是否处于活动状态?

如果您正在运行 IIS,您可能正在运行 Web 场服务。这就是杀死我的xampp的原因。

于 2009-04-25T06:27:28.610 回答
4

Skype 喜欢使用端口 80 并阻止 IIS。那是我的问题。

于 2014-05-11T15:46:20.473 回答
4

我也有同样的问题。net stop http没有帮助,并且未选中 Windows 控制面板中IIS下的万维网服务选项。所以在 XAMPP 控制面板中,我只检查了 Apache 开始按钮附近的 Svc 复选框(将 Apache 安装为服务)并重新启动 Windows。现在每次 Windows 启动时,Apache 都会自动启动并在任何其他服务之前占用端口 80。为我工作!

于 2015-07-25T09:10:36.157 回答
3

侦听端口 80 的已知 Windows 服务

从服务管理器(运行:services.msc)中,停止并禁用这些已知绑定到端口 80 的 Windows 服务。

双击服务,将“启动类型”更改为“禁用”...</p>

  1. SQL Server 报告服务 (ReportServer)
  2. Web 部署代理服务 (MsDepSvc)
  3. 分支缓存 (PeerDistSvc)
  4. 同步共享服务 (SyncShareSvc)
  5. 万维网发布服务 (W3SVC)
  6. Internet 信息服务器(WAS、IISADMIN)

Skype 也使用端口 80 作为默认设置,您可以取消选中它。

您可能会或可能不会安装并运行其中一些服务。

在我的情况下,“SQL Server Reporting Services”正在打开端口 80。

于 2018-04-01T11:29:24.647 回答
1

以编程方式识别真实过程

(当进程ID显示为4时)

像往常一样,这里的答案需要一定程度的交互性。

问题是当某些东西通过 HTTP.sys 进行监听时;然后,PID 始终为 4,并且正如大多数人所发现的那样,您需要一些工具来找到真正的所有者。

以下是如何以编程方式识别违规进程。没有 TcpView 等(与那些工具一样好)。是否依赖 netsh;但是,问题通常与 HTTP.sys 有关。

$Uri = "http://127.0.0.1:8989"    # for example


# Shows processes that have registered URLs with HTTP.sys
$QueueText = netsh http show servicestate view=requestq verbose=yes | Out-String

# Break into text chunks; discard the header
$Queues    = $QueueText -split '(?<=\n)(?=Request queue name)' | Select-Object -Skip 1

# Find the chunk for the request queue listening on your URI
$Queue     = @($Queues) -match [regex]::Escape($Uri -replace '/$')


if ($Queue.Count -eq 1)
{
    # Will be null if could not pick out exactly one PID
    $ProcessId = [string]$Queue -replace '(?s).*Process IDs:\s+' -replace '(?s)\s.*' -as [int]

    if ($ProcessId)
    {
        Write-Verbose "Identified process $ProcessId as the HTTP listener. Killing..."
        Stop-Process -Id $ProcessId -Confirm
    }
}

最初发布在这里:https ://stackoverflow.com/a/65852847/6274530

于 2021-01-22T21:18:27.747 回答
0

我遇到了同样的问题,并通过在文件中进行了一些小的更改来修复它,httpd.conf这可以通过单击配置按钮和 Apache 选项来获得。

我所做的更改是将listen 80替换为listen 8080。

于 2020-08-11T13:53:48.273 回答
-1

对我来说,当我在我的 Windows 8 计算机上托管 VPN 连接时,这个问题就开始了。

只需从“控制面板\网络和 Internet\网络连接”中删除连接即可解决问题。

于 2014-01-31T19:38:22.380 回答