Mac电脑80端口被占用的2种解决办法

前提:确认占用80端口的程序(sudo lsof -i:80)

我研发用的是Mac电脑,查看80端口被占用的进程命令:sudo lsof -i:80

我Mac电脑80端口占用进程如下:httpd进程占用了80端口,httpd进程即为Apache服务,下面提供了2种解决办法。

OXL-MacBook:~ obullxl$ sudo lsof -i:80
COMMAND  PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
httpd    128    root    4u  IPv6 0x837e41eb989fc6d1      0t0  TCP *:http (LISTEN)
WeChat   390 obullxl  103u  IPv4 0x837e41e6ce1a65d9      0t0  TCP 192.168.101.30:49216->182.50.15.211:http (CLOSE_WAIT)
WeChat   390 obullxl  106u  IPv4 0x837e41e6ce1a3089      0t0  TCP 192.168.101.30:49217->182.50.10.149:http (CLOSE_WAIT)
WeChat   390 obullxl  342u  IPv4 0x837e41e6ce6045d9      0t0  TCP 192.168.101.30:52992->61.241.138.140:http (CLOSE_WAIT)
httpd    616    _www    4u  IPv6 0x837e41eb989fc6d1      0t0  TCP *:http (LISTEN)
httpd   4646    _www    4u  IPv6 0x837e41eb989fc6d1      0t0  TCP *:http (LISTEN)
httpd   4647    _www    4u  IPv6 0x837e41eb989fc6d1      0t0  TCP *:http (LISTEN)
httpd   4648    _www    4u  IPv6 0x837e41eb989fc6d1      0t0  TCP *:http (LISTEN)

方案一:暂停Apache系统服务后,启动Web调试

Apache服务启动和暂停,可以使用apachectl命令行:sudo apachectl restartsudo apachectl stop

我的电脑暂停了Apache服务之后,再次查看80端口已经没有占用了:

OXL-MacBook:~ obullxl$ sudo apachectl stop
OXL-MacBook:~ obullxl$ sudo lsof -i:80
OXL-MacBook:~ obullxl$

为了让我们调试Web站点页面更加顺畅,我们可以把Apache暂停命令加到启动Web调试的命令中,如Hugo静态站点的脚本:

#!/bin/sh

# 暂停Apache服务,释放80端口
sudo apachectl stop

# 在80端口上启动Hugo,调试页面
sudo hugo server -p 80 -D

本方案的唯一不足就是:当我们使用control + C暂停了Hugo服务,释放了80端口后,Apache服务不能自动启动。需要手工执行命令重启Apache服务,优化方案请看方案二

方案二:修改Apache系统服务80端口为其他端口

方案一可以解决我们在80端口调试Web页面,但是在调试完成之后,Apache服务需要手工执行命令重启。本方案就是修改Apache服务默认的80端口为其他端口,让出80端口给我们业务页面使用。

  • 第一步 找到Apache的安装目录:我Mac电脑目录是/etc/apache2
OXL-MacBook:~ obullxl$ cd /etc
OXL-MacBook:etc obullxl$ ls | grep apache
apache2
OXL-MacBook:etc obullxl$ cd apache2/
OXL-MacBook:apache2 obullxl$ ls
extra     magic     other     httpd.conf    httpd.conf.pre-update mime.types    users
httpd.conf~previous original
  • 第二步 修改Apache配置文件(httpd.conf)中80端口为其他端口,如8080端口。为了安全起见,修改配置文件之前,先进行备份。
OXL-MacBook:apache2 obullxl$ sudo cp httpd.conf httpd.conf.20231015
Password:
OXL-MacBook:apache2 obullxl$ sudo vi httpd.conf
<IfDefine SERVER_APP_HAS_DEFAULT_PORTS>
    Listen 8080
</IfDefine>
<IfDefine !SERVER_APP_HAS_DEFAULT_PORTS>
    Listen 8080
</IfDefine>
  • 第三步 重启Apache服务:sudo apachectl restart,同时可以查看8080端口,已经被Apache服务占用。
OXL-MacBook:apache2 obullxl$ sudo apachectl restart
OXL-MacBook:apache2 obullxl$ sudo lsof -i:8080
COMMAND  PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
httpd   6942 root    4u  IPv6 0x837e41eb989f9cd1      0t0  TCP *:http-alt (LISTEN)
httpd   6955 _www    4u  IPv6 0x837e41eb989f9cd1      0t0  TCP *:http-alt (LISTEN)

最后

方案一和方案二个人验证均可行~


我的本博客原地址:https://ntopic.cn/p/2023101501


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 当使用adb连接安卓设备时,可能会出现端口被占用的情况,导致adb无法正常工作,这时候需要采取一些方法来解决。 一简单的方法是使用命令行来查找并解决端口被占用的问题。先打开终端窗口,输入命令“adb kill-server”,然后输入命令“adb start-server”,即可尝试重新启动adb服务,这有可能解决端口被占用的问题。 如果以上方法无效,可以尝试使用第三方工具来解决。比如可以使用“TCPView”这个软件来查看端口占用情况,找出哪个程序正在占用adb所需的端口,然后将其停止或关闭,再重新启动adb服务即可。 还有一些其他的解决方法,比如可以尝试更改adb的端口号,或者升级adb到最新版本。总之,无论采取哪方法,一定要谨慎操作,确保不会产生其他问题。 ### 回答2: adb是Android Debug Bridge(Android调试桥)的缩写,是Android开发中常用的调试工具。有时候我们在使用adb命令连接设备时,会遇到端口被占用的情况,这时候我们需要解决这个问题。 一键解决adb端口被占用的方法如下: 1. 打开终端或命令提示符窗口 2. 输入以下命令:adb kill-server 3. 再输入命令:adb start-server 这两个命令的作用分别是停止adb服务和重新启动adb服务。有时候,重新启动adb服务也不一定能解决端口被占用的问题,这时候可以使用以下的方法: 1. 找到占用adb端口的进程ID(PID),在终端或命令提示符窗口输入以下命令: Windows系统:netstat -ano | findstr "5037" Mac/Linux系统:sudo lsof -i :5037 其中,5037是默认的adb端口号。 2. 通过PID结束进程,输入以下命令: Windows系统:taskkill /f /pid [PID号] Mac/Linux系统:sudo kill [PID号] 注意:以上操作需要管理员权限,如果没有管理员权限需要以管理员身份运行终端或命令提示符窗口。 总之,以上方法都可以一键解决adb端口被占用的问题。如果还无法解决,可以考虑重启电脑或设备,重新连接adb。 ### 回答3: ADB是Android Debug Bridge的缩写,是开发安卓应用时常用的工具。在使用此工具时,有时会出现端口被占用的问题,这可能会导致ADB无法正常工作。以下是一些解决端口被占用问题的方法: 1.使用命令行:在命令提示符下输入“netstat -ano|findstr”加上被占用的端口号,就可以找到具体的进程ID,再使用taskkill命令将进程强制关闭,以此来释放端口。 2.使用任务管理器:打开任务管理器,点击“详细信息”选项卡,找到被占用的进程,右键点击进程并选择“结束任务”即可释放端口。 3.更改端口号:可以在开发工具中更改ADB的默认端口号,使其使用其他可用端口,从而避免端口被占用的问题。 总的来说,解决ADB端口被占用的问题并不复杂,并且可以通过简单的命令行或者任务管理器来解决。如果对于命令行和任务管理器不熟悉的用户可以使用第三方法,即更改端口号,以便在未来避免这问题的出现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值