将tomcat服务器端口更改为80不起作用

将tomcat服务器端口更改为80不起作用

问题描述:

我将我的web应用程序部署到Linux AMI EC2机器中的tomcat服务器中。我不熟悉Linux,但我相信虚拟机与CentOS类似?我使用yum install tomcat将tomcat安装到ec2实例中。将tomcat服务器端口更改为80不起作用

当我将java/spring .war文件部署到/ webapps目录时,它工作正常,但我必须在url中指定:8080。我设置了弹性ip,所以我可以去xxx.xx.xx.xx:8080/webappname/

足够的背景下,这里是问题。我在server.xml中将端口更改为80。我在/etc/tomcat6/server.xml或/usr/share/tomcat6/conf/server.xml中找到了该文件。但在更改后,我转到xxx.xx.xx.xx/webappname /,系统无法与服务器通信。我究竟做错了什么?我注意到有另一个文件使用端口8080,它是etc/init.d/tomcat6。这与它有什么关系?

我也读过某个地方,端口1-xxx是受限制的,如果我打开它,这将是一个安全风险。在这种情况下,我应该按照原样离开80端口,只需为该IP地址+端口分配域名?

谢谢

+0

我有完全相同的问题,但“定义我的应用程序默认”似乎并不适用于我。我添加了'并将'autoDeploy'改为'false' – Miranda

您需要将您的应用程序定义为默认的Web应用程序。看看tomcat documentation

path attribute documentation参见

该web应用程序,这是靠在 开始每个请求URI的匹配来选择用于处理的相应的Web 应用程序的上下文路径。一个 特定主机中的所有上下文路径必须是唯一的。如果您指定 空字符串(“”)的上下文路径,则您正在定义该主机的默认Web应用程序 ,该主机将处理未分配给其他 上下文的所有请求。

只有在静态定义 server.xml中的上下文时才能使用此属性。在所有其他情况下,路径将从 推断为用于.xml上下文文件或docBase的文件名。

即使静态定义在server.xml中一个背景下,这个属性 不能设置,除非任何文档库是不是下 主机的的appBase或deployOnStartup和自动部署都是假的位置。如果 未遵循此规则,则可能会导致双重部署。

登录到AWS控制台和GOTO安全组部分 这里,在入站添加了一个名为自定义TCP规则新规则,并输入自定义的端口范围8080

现在,进入{} ip地址:8080在浏览器中