【问题标题】:Running a j2ee web application as a website or under personal domain将 j2ee Web 应用程序作为网站或在个人域下运行
【发布时间】:2014-04-19 14:04:20
【问题描述】:
假设我有一个域“www.mynewdomain.com”、一个 Amazon EC2 实例“ec2-999-89-928-892.ap-southeast-1.compute.amazonaws.com”和一个 j2ee Web 应用程序“myapp” 。战争”。
现在我需要在亚马逊云中的 Tomcat/MySQL 服务器中部署我的 webapp,并将该应用程序作为“www.mynewdomain.com”运行。我知道在本地部署应用程序。我只想知道如何在没有任何端口或上下文的情况下运行我的 webapp。我怎样才能做到这一点?
简而言之,我正在运行的 web 应用程序“http://ec2-999-89-928-892.ap-southeast-1.compute.amazonaws.com:8080/myapp”应该作为“www.mynewdomain.com”运行。
很高兴感谢您的回答。
【问题讨论】:
标签:
web-applications
deployment
amazon-ec2
dns
web
【解决方案1】:
-
要将路径从/myapp 更改为/ - 将application.xml file 中的<context-root> 设置为/:
<module>
<ejb>myapp.jar</ejb>
</module>
<module>
<web>
<web-uri>web-client.war</web-uri>
<context-root>/</context-root>
</web>
</module>
-
要将您的端口从 8080 更改为 80 - 如果您在 ubuntu 上工作,您可以使用 iptables
sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
这会将来自端口 8080 的所有流量路由到端口 80
要将您的 DNS 从 ec2-999-89-928-892.ap-southeast-1.compute.amazonaws.com 更改为 www.mynewdomain.com - 您需要将 CNAME 添加到从 ec2-999-89-928-892.ap-southeast-1.compute.amazonaws.com 指向 www.mynewdomain.com 的 DNS 表中。如果您使用AWS的Route53管理您的域,您可以找到说明here,如果没有,请在您的域管理帮助文件中查找。