我正在尝试运行Vagrantpress,默认情况下将VM端口80转发到主机端口8080.但是,它报告另一个应用程序正在使用端口8080并且无法启动。
环顾四周,似乎使用像lsof | grep :8080
这样的东西应该使用端口列出应用程序。但是,该命令返回空。
使用Mavericks的网络实用程序>端口扫描我明白了:
Port Scan has started…
Port Scanning host: 127.0.0.1
Open TCP Port: 80 http
Open TCP Port: 631 ipp
Open TCP Port: 1023
Open TCP Port: 3128 ndl-aas
Open TCP Port: 5001 commplex-link
Open TCP Port: 5003 fmpro-internal
Open TCP Port: 5432 postgresql
Open TCP Port: 8080 http-alt
Open TCP Port: 20559
Open TCP Port: 29754
Open TCP Port: 49524
Open TCP Port: 49525
Port Scan has completed…
但我无法弄清楚如何关闭http-alt以便其他应用程序可以使用该端口。
答案 0 :(得分:2)
我遇到同样的问题,我安装了Cisco AnyConnect,https://apple.stackexchange.com/questions/66158/unkown-process-listening-at-port-8080上的答案表明可能是问题所在。我决定更改我正在使用的端口,而不是试图摆脱AnyConnect要求,所以我无法验证这是一个解决方案,但它是尝试的东西。
答案 1 :(得分:1)
您应该运行lsof -i :8080
而不是lsof | grep :8080
或netstat -nap | grep :8080
(您可能需要更改OS X上的选项,因为它是BSD),获取进程的PID并终止/杀了它。
如果您只是想解决此问题,请在端口转发块中使用auto_correct: true
,例如
Vagrant.configure("2") do |config|
config.vm.network "forwarded_port", guest: 80, host: 8080,
auto_correct: true
end
并执行vagrant reload
。