mac 80 端口被占用

Intellij IDEA上把tomcat的默认端口改成80,运行web应用时提示80端口被占用

使用lsof -i:80命令找不到是哪个程序占用了80端口

由于 Mac 系统限制非root用户不能启动1024以下端口,而我们平时使用Mac一般都是非root用户,所以如果想启动80端口必须用root用户。

比如启动nginx,必须使用sudo nginx ,但是如果用root权限启动nginx或tomcat又会造成, 启动创建的各类文件是root的,普通用户无法删除。

为此, 我们可以通过pfctl做网络层的端口转发, 让连接到本机80端口的请求, 都转发到9090端口

解决方法:

sudo vim /etc/pf.conf

pf.conf是对顺序强要求的, 所以注意添加的内容放的顺序

在 rdr-anchor "com.apple/*" 这一行的后面添加一行

rdr on lo0 inet proto tcp from any to 127.0.0.1 port 80 -> 127.0.0.1 port 9090

其中lo0是绑定了127.0.0.1的网络设备名称,具体可以使用ifconfig查看

在tomcat的配置中,设定启动端口为9090

让端口转发马上生效

sudo pfctl -d

sudo pfctl -f /etc/pf.conf

sudo pfctl -e

ps: 启用之前请先停掉其他占用80端口的进程,比如nginx

Mac下开启与关闭端口转发的脚本配置方法


--------------------- 
作者:步月1990 
来源:CSDN 
原文:https://blog.csdn.net/buyueliuying/article/details/78588695 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/qq_29058883/article/details/84671127
今日推荐