我最近买了Amazon EC2服务器。 我没有通过命令行安装它,而是下载了最新的zip文件并将我的应用程序部署在WebApps文件夹中。
问题是tomcat正在侦听端口8080而不是80上的所有请求。 我试过更改conf文件夹中的server.xml文件,但没有帮助! 它仍然在听8080端口。
如何让它听取端口80
答案 0 :(得分:2)
奇怪的是,Tomcat有自己的文档来执行此操作:
http://wiki.apache.org/tomcat/HowTo#How_to_run_Tomcat_without_root_privileges.3F
* NIX上最直接的方法可能就是使用jsvc
这是一个小实用程序,它通过绑定到端口,删除权限,然后启动Tomcat来运行,然后Tomcat可以使用编号较低的端口。 / p>
还有很多其他方法,但jsvc是最简单的,并提供一些其他好处。发现这些好处留给读者练习。
答案 1 :(得分:1)
以下内容适用于各种系统,而第二个链接则适用于基于Windows的系统。
第一个链接:http://www.klawitter.de/tomcat80.html
第二个链接: http://javarevisited.blogspot.com/2011/12/how-to-change-tomcat-default-port-8080.html?m=1
答案 2 :(得分:0)
确定。所以最后我找到了解决这个问题的方法。
首先,我做错了。不应该为tomcat7打开端口80。 Tomcat7应始终运行端口8080或任何大于1024的内容。
这样可以让您的网站在没有端口的情况下工作。请按照以下步骤操作。
希望这个答案有所帮助!!!
由于 法赫德穆拉吉
答案 3 :(得分:0)
我不建议这样做,因为它值得......
这可能在理论上有效,但您实际上使用httpd作为代理来转发每个请求。恕我直言,选择这一点并不是因为在Tomcat配置中将端口更改为80并放弃httpd。您可以将端口80用于Tomcat,但历史上,在生产环境中,httpd通常用于提供静态资产,而Tomcat将提供动态内容。通常一个人会安装mod_jk并使用jkMount指令通过AJP将Tomcat连接到httpd,这比二进制协议要快得多。
这里的性能差异往往更大。
如今,Tomcat能够很好地通过其DefaultServlet提供静态资源。
对于AJP设置,请参阅此处的文档: