tomcat未在ubuntu 16.04LTS的aws ec2示例上的端口80上运行[已关闭]

gojuced7  于 2022-11-13  发布在  其他
关注(0)|答案(2)|浏览(122)

**已关闭。**此问题不符合Stack Overflow guidelines。当前不接受答案。

此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site相关,您可以留下评论,说明在何处可以找到此问题的答案。
6个月前关闭。
Improve this question
我按照以下步骤运行我的Web应用程序
1.我已经在aws上创建了ubuntu16.04LTS的一个ec2示例。
1.使用ssh远程登录,我安装了java8,然后安装了tomcat:sudo apt-get install tomcat 7.(无法使用相同命令安装tomcat 9)
1.我将war文件重命名为ROOT(因为项目名称不应该在URL中),并将其复制到webapps文件夹中。
1.在启动tomcat之后,使用http://IP_address:8080我可以访问我的网站。server.xml中的默认设置:connector port=“8080”...我检查了哪些服务正在运行netstat -plnt 8005(服务器关闭端口)、8080(连接器端口)
1.我将端口号从server.xml更改为80:connector port=“80”..然后启动了tomcat。我无法访问我的网站。以下命令也没有显示任何服务运行在端口80上。
netstat -plnt 8005(服务器关闭端口)
需要做什么样的改变,使网站将是可访问的,而无需输入任何端口号的URL。(我已经Map域名到IP地址。)我想使用java 8的功能,因此我更喜欢tomcat 9安装。

z2acfund

z2acfund1#

一个简单的解决方案 (在运行ubuntu的EC2上测试)。基本上将所有流量从端口80重定向到8080

sudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

人们还建议安装iptables-persistent(通过apt-get install) 来保存更改,但我个人还没有测试过。
请确保您在AWS控制台中允许端口80。为此,请在网络和安全下转到安全组,选择您的EC2示例的组,选择该组并转到入站(底部),然后进行编辑,并添加带有端口80的规则。您可能需要等待一段时间。

8oomwypt

8oomwypt2#

另一种方法是创建一个子域,如果你有像www.example.com这样的域abc.techuva.com,并将其Map到你的url:8080等,使其工作。

相关问题