Tomcat服务器将不会响应端口80

我站在一个TeamCity服务器上运行它自己的Amazon EC2上的embedded式Tomcat实例。

我已经成功地得到了实例来响应端口8111或8080,但是当我尝试将端口更改为80时,我无法让它在该端口上作出响应。

我有我的安全组设置为允许端口80,并validation这不是问题。

我没有在我的Linux实例上运行其他任何东西,只是TeamCity发行版,所以我没有运行Apache服务器或任何东西。

我似乎很奇怪的是,当我在8111或8080上运行它,然后做一个netstat我可以看到这些端口正在侦听,但是当我把端口设置为80,运行另一个netstat端口80永远不会显示为正在侦听。

有谁知道为什么我不能让tomcat响应端口80?

使用Amazon EC2 Basic Linux实例时,端口1-1023是有特权的,所以当我尝试以非root用户身份启动teamcity时,它正在崩溃,因为我试图访问特权端口。

我通过这个stackoverflow问题发现了这一点

它概述了2个解决scheme:

  • 以root用户身份启动teamcity
  • 用jsvc运行团队服务

它可能已经被其他一些进程所使用。 你应该跑步

netstat -anc | grep 80 

以root身份查找哪个进程在该端口上有一个LISTEN套接字。