windows环境下如何解决端口占用(常见80端口占用)问题

一、查看端口占用情况(以下以常见的80端口被占用为例)

使用 netstat 命令结合 findstr 命令来查找占用 80 端口的进程信息,同时可以使用 tasklist 命令进一步查看进程的详细名称。

cmd

netstat -ano | findstr ":80"

  • netstat -anonetstat 是用于显示网络连接、路由表和网络接口等网络统计信息的命令。-a 选项表示显示所有连接和监听端口;-n 选项表示以数字形式显示地址和端口号;-o 选项表示显示每个连接对应的进程 ID(PID)。
  • findstr ":80"findstr 是用于在文本中查找指定字符串的命令,这里用于筛选出包含 :80 的行,也就是占用 80 端口的连接信息。

执行上述命令后,会输出类似如下的结果:

2. 查看进程详细名称(可选)

如果你想知道这个 PID 对应的具体进程名称,可以使用 tasklist 命令:

cmd

tasklist | findstr "30776"

30776替换为你查找到的实际 PID,执行命令后会显示该 PID 对应的进程名称。

 

3. 杀掉占用 80 端口的进程

使用 taskkill 命令来终止指定 PID 的进程。

cmd

taskkill /F /PID 30776

  • /F:表示强制终止进程,确保进程被彻底关闭。
  • /PID:指定要终止的进程的 PID,将 30776替换为你实际查找到的占用 80 端口的进程的 PID。

执行该命令后,如果一切顺利,占用 80 端口的进程将被终止,80 端口将被释放。

补充方法

1. 修改程序使用的端口

如果占用端口的进程是我们需要运行的程序,但又不想结束它,可以考虑修改该程序使用的端口。不同的程序修改端口的方式不同,一般可以在程序的配置文件中找到端口相关的配置项,将其修改为其他未被占用的端口。

2. 重启计算机

这是一种比较简单粗暴的方法。重启计算机后,所有正在运行的进程都会被关闭,占用的端口也会被释放。但这种方法比较麻烦,而且会关闭所有正在运行的程序,所以一般在其他方法都无效时才考虑使用。

端口占用问题在 Windows 环境中较为常见,但只要掌握了正确的查看和解决方法,就能轻松应对。无论是开发人员还是普通用户,了解这些知识都能在遇到问题时快速解决,提高工作效率。

需要注意的是,在杀掉进程之前,请确保你了解该进程的作用,避免误杀重要进程导致系统或其他程序出现问题。

### 解决 PHPStudy 中 80 端口占用的方法 当遇到 PHPStudy 的 Apache 启动失败,提示 80 端口占用的情况时,可以通过以下方式解决问题。 #### 方法一:通过命令行查找并结束占用进程 可以使用 `netstat` 命令来查看哪些程序占用80 端口,并终止该进程。具体操作如下: 1. 打开 CMD 并输入以下命令以获取占用 80 端口的 PID(进程 ID)信息: ```bash netstat -ano | findstr :80 ``` 2. 查找返回的结果中的最后一列数字即为对应的 PID。 3. 使用以下命令强制结束此进程: ```bash taskkill /PID <PID> /F ``` 将 `<PID>` 替换为你查询到的实际数值[^2]。 #### 方法二:修改注册表禁用 HTTP 协议服务 如果发现是 Windows 自带的服务占用80 端口,则可通过调整注册表设置解决: 1. 按下 Win + R 键打开运行窗口,输入 `regedit` 进入注册表编辑器; 2. 定位至路径 `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP`; 3. 右键点击右侧窗格内的 “Start”,将其值由默认的 3 修改为 4 (表示禁用此项服务)。注意备份注册表以防万一[^3]。 #### 方法三:更改 SQL Server 报告服务配置 有时安装了 Microsoft SQL Server 后,默认开启了报告服务功能也会绑定到本地地址及端口80 上面。此时可以选择停止这些不必要的后台作业流程或者重新规划其监听范围。 - 步骤说明:按下快捷组合键 WIN+R 调出对话框之后键入字符串“services.msc”回车确认加载管理界面;接着寻找名称类似于“SQL Server Reporting Services (MSSQLSERVER)”这样的条目双击属性页面,在常规标签页下方启动类型选项处切换成“手动”。当然也可以直接选择停用当前实例[^4]。 #### 方法四:让 Apache 不再使用 80 端口 另一种更简单的办法就是改变 WebServer 工作所依赖的标准超文本传输协议端子号——也就是常说的 Port Number 设置项。对于 XAMPP/LAMP 类型集成环境来说通常只需要简单几步就能完成整个迁移过程: 进入 phpstudy 配置文件夹找到 httpd.conf 文件,利用任意文本编辑工具打开它搜索 Listen 字样后面跟随的具体数值比如这里应该是 listen 80 ,把它改成其他未使用的端数例如 8080 或者更高一点像 9000 。保存退出后再尝试重启服务器应该就不会报错了[^1]。 ```python Listen 8080 ``` 以上四种方案均能有效应对因各种原因造成的 apache 无法正常开启的现象,请根据实际情况选取适合自己的处理措施执行即可恢复正常工作状态。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

guoguo507

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值