首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ubuntu16.04LTS的aws ec2实例上未在端口80上运行的tomcat

在ubuntu16.04LTS的aws ec2实例上未在端口80上运行的tomcat
EN

Stack Overflow用户
提问于 2017-04-23 19:03:39
回答 2查看 3K关注 0票数 0

我按照以下步骤运行我的web应用程序

  1. 我在aws上创建了一个ubuntu16.04LTS的ec2实例。
  2. 通过ssh使用远程登录,我安装了java 8,然后安装了tomcat: sudo apt install tomcat7。(tomcat9无法使用相同的命令安装)
  3. 我将war文件重命名为ROOT文件(因为项目名称不应该在URL中)并将其复制到webapp文件夹中。
  4. 在启动tomcat之后,我可以使用address:8080访问我的网站。Server.xml中的默认设置:连接器port=“8080”我检查了哪些服务运行netstat -plnt 8005(服务器关闭端口)、8080(连接器端口)。
  5. 我将端口号从server.xml改为80:连接器port=“80”。然后开始做猫。我无法访问我的网站。下面的命令也没有显示在端口80上运行的任何服务。 netstat -plnt 8005(服务器关机端口)

哪些更改需要作出,以使网站将可以访问,而不输入任何端口号的网址。(我已经将域名映射到IP地址。)我想使用java 8特性,因此我更喜欢tomcat 9安装。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-24 13:00:54

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

代码语言:javascript
复制
sudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

人们还建议安装iptables-persistent (通过apt-get安装)来保存更改,但我个人还没有对其进行测试。

确保您的允许端口80在您的AWS控制台。为此,在Network&Security转到Security 下,选择EC2实例的组,选择它并转到入站(底部),然后编辑,以及Add Rule和端口80。你可能得等一段时间。

票数 11
EN

Stack Overflow用户

发布于 2017-04-28 11:43:21

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

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43575300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档