黑马程序员技术交流社区

标题: 【成都校区】Mac提示80端口被占用的解决方案 [打印本页]

作者: yilson    时间: 2018-11-22 14:13
标题: 【成都校区】Mac提示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下开启与关闭端口转发的脚本配置方法





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2