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 restart
和sudo 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