使用Mac中的端口80

时间:2014-10-27 10:07:31

标签: macos tomcat port

我们必须为我们的服务器使用端口80。但是当我试图在Mac中使用它时,它总是说使用80,但我不知道哪个程序使用它。

我在谷歌搜索过,有人说它是关于apache的,但是我尝试过,但是没有用。我发现了这个:https://gist.github.com/kujohn/7209628,但似乎没有按IP地址访问我们的服务器。

我真的不知道发生了什么,我怎样才能找到使用端口80的程序并将其停止。

非常感谢任何人都可以提供帮助,我是使用Mac的新手。感谢。

6 个答案:

答案 0 :(得分:16)

找出使用端口80的进程

  1. 转到应用
  2. 打开实用程序
  3. 打开活动监控
  4. 点击内存标签,
  5. 查看端口和使用它们的进程。找到端口80并选择它
  6. 转到菜单栏上的视图,然后选择退出流程
  7. 这只会终止进程,它不会阻止已经运行的服务器实例继续运行。

    目前尚不清楚您是否使用数据库管理系统,以及使用MAMP为我工作的一种方法如下:

    • 使用sudo apachectl stop命令停止服务器。
    • 然后将端口更改为端口80。
    • 然后重新启动服务器。

答案 1 :(得分:8)

在终端

中键入以下内容
sudo lsof -i -n -P | grep TCP

你会得到一份清单 - 例如Dropbox侦听80
您可以将输出复制到文本编辑器等进行搜索

答案 2 :(得分:2)

可能是正在使用端口80的Skype。如果已安装并运行Skype,请尝试在设置中更改为其他端口。

答案 3 :(得分:1)

我遇到了这个问题,apache已通过launchctl禁用,但是在启动后仍在绑定端口80,我可以启动apache并可以工作,但是卸载后,我无法在端口80上启动任何东西我使用Python的内置Web服务器作为简单测试。它可以在端口81上运行,但不能在端口80上运行。

sudo python -m SimpleHTTPServer 80-不起作用

sudo python -m SimpleHTTPServer 81-可以工作

以下是症状:

$ launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 
/System/Library/LaunchDaemons/org.apache.httpd.plist: Could not find specified service
$ sudo lsof -i ':80'
COMMAND  PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
Python  3353 root    3u  IPv4 0xe455777a82799f05      0t0  TCP *:http (LISTEN)

对我来说(在进行过多搜索之后)的解决方法很简单:

sudo pfctl -F all

这刷新了数据包过滤器,释放了端口80(以及其他我认为8080、443的端口,无论端口可能正在连接)

然后,重新启动python服务器,它就出现了。

答案 4 :(得分:0)

在Mac上,低于1024的端口只能由root用户绑定。 尝试以root用户(使用sudo)启动服务器,或尝试使用1024以上的端口。

您还可以尝试在/etc/sudoers

中向用户添加root权限。
# root and users in group wheel can run anything on any machine as any user
root            ALL = (ALL) ALL
%admin          ALL = (ALL) ALL
your_user_here  ALL = (ALL) ALL

答案 5 :(得分:-1)

0到1023范围内的端口号被归类为'众所周知的'端口号80保留给HTTP。通常,您有服务器侦听端口80以处理HTTP请求。

<强>来源: http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers