我构建了一个名为myapp.war的war文件,并将其部署在Tomcat上。我已经将端口从8080更改为80,因此我可以在example.com/myapp(其中example.com是我的主机)上找到它。如何配置应用程序,以便当我访问example.com时,它会显示我的应用程序?我不想只是从example.com重定向到example.com/myapp - 我不想在URL中使用myapp。我是否必须设置Apache来为这样的页面提供服务,还是可以在Tomcat配置中使用虚拟主机来实现?
答案 0 :(得分:8)
您需要做的就是为战争命名ROOT.war
。
答案 1 :(得分:4)
您没有必须设置Apache前端或在Tomcat中配置虚拟主机。相反,只需将您的webapp部署到“根上下文”即可。要执行此操作,请参阅Tomcat Wiki上的How do I make my web application be the Tomcat default application ?。他们描述了三种可能的方法,以便您能够找到最适合您需求的方法。
答案 2 :(得分:3)
以下是两种可能的方法:
CATALINA_BASE/conf/server.xml
查找主机元素并设置autoDeploy="false"
deployOnStartup="false"
,然后最后添加<Context path="" docBase="your_project_name"/>
,如:expamle#2:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="false" deployOnStartup="false">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<Context path="" docBase="your_project_name"/><!--Add this-->
</Host>
答案 3 :(得分:0)