Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 将tomcat服务器端口更改为80不起作用_Linux_Tomcat_Amazon Ec2 - Fatal编程技术网

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

Linux 将tomcat服务器端口更改为80不起作用,linux,tomcat,amazon-ec2,Linux,Tomcat,Amazon Ec2,我将web应用部署到Linux AMI EC2机器中的tomcat服务器中。我不熟悉Linux,但我相信虚拟机类似于CentOS?我使用yum安装tomcat将tomcat安装到ec2实例中 当我将java/spring.war文件部署到/webapps目录时,它可以工作,但我必须在url中指定:8080。我设置了弹性ip,因此可以转到xxx.xx.xx.xx:8080/webappname/ 有了足够的背景,问题来了。我在server.xml中将端口更改为80。我在/etc/tomcat6/s

我将web应用部署到Linux AMI EC2机器中的tomcat服务器中。我不熟悉Linux,但我相信虚拟机类似于CentOS?我使用yum安装tomcat将tomcat安装到ec2实例中

当我将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地址+端口分配一个域名


谢谢

您需要将应用程序定义为默认web应用程序。看一看

此web应用程序的上下文路径,它与 每个请求URI的开头,以选择适当的web 申请处理。中的所有上下文路径 特定主机必须是唯一的。如果指定 空字符串(“”),您正在为定义默认的web应用程序 此主机将处理所有未分配给其他主机的请求 上下文

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

即使在server.xml中静态定义上下文,该属性 除非docBase不位于 主机的appBase或deployOnStartup和autoDeploy都为false。如果 如果不遵守此规则,可能会导致双重部署


登录AWS控制台并转到安全组部分 在此,在入站中添加一个名为Custom TCP rule的新规则,并输入自定义端口范围8080


现在,在浏览器中输入{ipaddress}:8080,我遇到了完全相同的问题,但“将我的应用程序定义为默认应用程序”似乎对我不起作用。我添加了
并将
autoDeploy
更改为
false