如何在localhost Windows上释放我的端口80?

时间:2009-04-25 06:24:27

标签: windows xampp windows-xp localhost port

我安装了XAMPP 1.6.8,由于某种原因它无法正常工作。后来实现端口80不是免费或不听。我该如何发布或免费发布?

非常感谢!

19 个答案:

答案 0 :(得分:94)

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

net stop http

问我“以下服务将被停止,你想继续吗?”按下

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

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

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

答案 1 :(得分:63)

netstat -ano

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

答案 2 :(得分:39)

netstat -a -b

应该告诉你哪个程序绑定到端口80

答案 3 :(得分:30)

我以前遇到过这个问题,

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

转到

  1. 控制面板
  2. 程序
  3. 开启/关闭Windows功能
  4. 检查World wide web services下的IIS是否已选中
  5. 如果是,请再次取消选中和netstat(或TCPVIEW)以查看80是否可用。

答案 4 :(得分:30)

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

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

  1. IIS
  2. 万维网发布服务
  3. IIS管理服务
  4. SQL Server报告服务
  5. Web部署代理服务
  6. 如果运行并检查,请停止上面的应用程序!

答案 5 :(得分:18)

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

答案 6 :(得分:6)

尝试

netstat -anb -p tcp

显示端口和进程

答案 7 :(得分:6)

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

答案 8 :(得分:6)

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

答案 9 :(得分:5)

这只是猜测,但由于端口80是HTTP的传统端口,因此您可能在系统上运行了一个Web服务器。 IIS是否处于活动状态?

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

答案 10 :(得分:4)

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

答案 11 :(得分:4)

在命令行中键入“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端口号后命令行的图片:

enter image description here

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

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

答案 12 :(得分:4)

我也有同样的问题。 SimpleDateFormat fromFmt = new SimpleDateFormat("dd MMM yyyy HH:mm:ss"); Date date = fromFmt.parse("25 Jul 2015 07:32:16");; SimpleDateFormat toFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(toFmt.format(date)); 没有帮助,并且未选中Windows控制面板中 IIS 下的万维网服务选项。所以在XAMPP控制面板中,我刚刚检查了Apache启动按钮附近的Svc复选框(将Apache安装为服务)并重新启动了Windows。现在,每次Windows启动时,Apache都会自动启动,并在任何其他服务执行之前占用端口80。为我工作!

答案 13 :(得分:1)

在端口80上侦听的已知Windows服务

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

双击“服务”,将“启动类型”更改为“已禁用”...

  1. SQL Server Reporting Services(ReportServer)
  2. Web部署代理服务(MsDepSvc)
  3. BranchCache(PeerDistSvc)
  4. 同步共享服务(SyncShareSvc)
  5. 万维网发布服务(W3SVC)
  6. Internet Information Server(WAS,IISADMIN)
  7. skype也使用端口80作为默认设置,您可以取消选中它。

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

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

答案 14 :(得分:0)

以编程方式识别真实流程

(当进程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

答案 15 :(得分:0)

我遇到了相同的问题,并通过对httpd.conf文件进行了一些小的更改来解决此问题,该更改可以通过单击config按钮以及Apache选项来获得。

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

答案 16 :(得分:0)

我正尝试从此处安装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!

希望有帮助。

答案 17 :(得分:0)

在我的情况下,窗口iis停止Web部署代理服务。在cmd中键入

 net stop msdepsvc 

答案 18 :(得分:0)

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

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