我怎么知道macPorts如何偷走我的端口:80?

use*_*699 5 macos mamp macports

我安装了MAMP(并且工作正常)然后我尝试通过macPorts安装mongoDB.然后macports开始安装一堆依赖项.之后,http:// localhost开始提供"It Works!" 屏幕.重新启动以查看它是否可以修复它,我发现我无法启动我的MAMP服务器.控制台说:

9/13/10 1:20:54 PM  [0x0-0x12012].de.appsolute.MAMP[133]    (48)Address already in use: make_sock: could not bind to address [::]:80
Run Code Online (Sandbox Code Playgroud)

我知道macPorts做了些蠢事让我感到困惑.我如何才能找到它所装的那个窃取端口:80?

这是我试过的一些命令:(:80没用,所以我只用了80)

$ sudo netstat -an | grep 80 
Password:
tcp46      0      0  *.80                   *.*                    LISTEN
udp6       0      0  fe80::21e:52ff:f.123   *.*                    
udp6       0      0  fe80::1%lo0.123        *.*   
Run Code Online (Sandbox Code Playgroud)

和:

$ lsof -i :80
COMMAND   PID        USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
firefox-b 451 biting_duck   39u  IPv4 0x0ab806b0      0t0  TCP 192.168.0.198:49515->stackoverflow.com:http (ESTABLISHED)
firefox-b 451 biting_duck   40u  IPv4 0x0ab87ec8      0t0  TCP 192.168.0.198:49517->sstatic.net:http (ESTABLISHED)
firefox-b 451 biting_duck   41u  IPv4 0x0ab88aec      0t0  TCP 192.168.0.198:49516->pz-in-f95.1e100.net:http (ESTABLISHED)
firefox-b 451 biting_duck   42u  IPv4 0x0ab97334      0t0  TCP 192.168.0.198:49518->sstatic.net:http (ESTABLISHED)
firefox-b 451 biting_duck   47u  IPv4 0x0ab87abc      0t0  TCP 192.168.0.198:49519->sstatic.net:http (ESTABLISHED)
firefox-b 451 biting_duck   48u  IPv4 0x0ab886e0      0t0  TCP 192.168.0.198:49520->sstatic.net:http (ESTABLISHED)
firefox-b 451 biting_duck   50u  IPv4 0x0ab89b1c      0t0  TCP 192.168.0.198:49521->sstatic.net:http (ESTABLISHED)
firefox-b 451 biting_duck   51u  IPv4 0x0ab86680      0t0  TCP 192.168.0.198:49522->peak-colo-196-216.peak.org:http (ESTABLISHED)
firefox-b 451 biting_duck   54u  IPv4 0x0ab81ef8      0t0  TCP 192.168.0.198:49523->gravatar.com:http (ESTABLISHED)
firefox-b 451 biting_duck   55u  IPv4 0x0ab82710      0t0  TCP 192.168.0.198:49524->gravatar.com:http (ESTABLISHED)
firefox-b 451 biting_duck   56u  IPv4 0x0ab8a334      0t0  TCP 192.168.0.198:49526->64.34.80.176:http (ESTABLISHED)
firefox-b 451 biting_duck   57u  IPv4 0x0ab812d4      0t0  TCP 192.168.0.198:49525->pv-in-f101.1e100.net:http (ESTABLISHED)
Run Code Online (Sandbox Code Playgroud)

Gor*_*son 16

根据您对launchd errors和/private/etc/apache2/httpd.conf的描述,听起来像安装了基本操作系统的Ap​​ache副本已经打开.检查系统首选项 - >服务 - > Web服务,并在需要时将其关闭.如果它没有打开,请尝试:

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Run Code Online (Sandbox Code Playgroud)

...如果不起作用,请查看/ Library/LaunchDaemons以查看是否已经安装了启动Apache系统副本(/ usr/sbin/httpd)的其他内容.


mip*_*adi 1

MongoDB端口不会安装任何需要或使用端口 80 的内容。它的任何依赖项也不会安装。此外,MacPorts 端口在启动时获取端口 80 的唯一方法是安装启动守护程序,但 MacPorts 不会自行激活任何启动守护程序(您必须手动执行此操作)。

但是,您可以通过执行来找出哪个程序正在侦听特定端口

$ lsof -i :<port>
Run Code Online (Sandbox Code Playgroud)

例如,

$ lsof -i :80
Run Code Online (Sandbox Code Playgroud)

将向您显示正在侦听端口 80 的程序。这应该可以缩小占用端口的范围。