我将我的Web应用程序部署到Linux AMI EC2计算机中的tomcat服务器中。我不熟悉Linux,但我相信虚拟机与CentOS类似?我使用yum install 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地址+端口分配域名吗?
由于
答案 0 :(得分:1)
登录AWS控制台并转到“安全组”部分 在此处,在入站中添加名为“自定义TCP规则”的新规则,并输入自定义端口范围8080。
现在,在浏览器中输入{ipaddress}:8080
答案 1 :(得分:0)
您需要将应用定义为默认的Web应用程序。看看tomcat documentation。
请参阅path attribute documentation
此Web应用程序的上下文路径,与之匹配 每个请求URI的开头,以选择适当的Web 申请处理。一个中的所有上下文路径 特定主机必须是唯一的。如果指定的上下文路径 空字符串(“”),您正在定义默认的Web应用程序 此主机将处理未分配给其他的所有请求 上下文。
此属性必须仅在静态定义上下文时使用 server.xml中。在所有其他情况下,路径将从中推断出来 用于.xml上下文文件或docBase的文件名。
即使在server.xml中静态定义Context,也要使用此属性 除非docBase不在,否则不得设置 主机的appBase或者deployOnStartup和autoDeploy都是false。如果 不遵循此规则,可能会导致双重部署。