Java Tomcat与主机、上下文和webapp双实例有关的问题

Java Tomcat与主机、上下文和webapp双实例有关的问题,java,tomcat,alias,server.xml,Java,Tomcat,Alias,Server.xml,/…解释太长且不清楚/ 换句话说,我只使用(一个或多个)域名(然后是www.my_domain.it,而不是www.my_domain.it/appname)搜索访问站点的正确方式,并且所有这些都必须指向webapp的同一实例(以便从您访问的任何域名中,始终显示相同的运行时数据) 因此,是的,我已经在tomcat/webapps文件夹中部署了WAR文件,现在,编辑conf/server.xml以获得上述结果的正确方法,对应于以下之一 一, www.my_domain.eu www.my_dom

/…解释太长且不清楚/

换句话说,我只使用(一个或多个)域名(然后是www.my_domain.it,而不是www.my_domain.it/appname)搜索访问站点的正确方式,并且所有这些都必须指向webapp的同一实例(以便从您访问的任何域名中,始终显示相同的运行时数据)

因此,是的,我已经在tomcat/webapps文件夹中部署了WAR文件,现在,编辑conf/server.xml以获得上述结果的正确方法,对应于以下之一

一,


www.my_domain.eu
www.my_domain.it
www.my_domain_2.it
...
二,


www.my_domain.eu
www.my_domain.it
www.my_domain_2.it
...
三,


www.my_domain.eu
www.my_domain.it
www.my_domain_2.it
...
四,


www.my_domain.eu
www.my_domain.it
www.my_domain_2.it
...
否则,正确的解决方案是什么?
谢谢大家

我假设您的应用程序在
webapps
目录中有一个实例,它将在该目录下以其名称自动部署。使用Context元素,您可以从文件系统中的任何位置部署应用程序

但是,最佳做法是不使用此信息编辑server.xml,而是在conf/hostname中创建单个context.xml文件,或者只部署到主机的webapps目录。如果要更改任何内容,则在server.xml中配置的任何内容都需要重新启动服务器。可以在运行时获取server.xml之外的配置,而无需重新启动

编辑:我之前的答案可能不清楚:

当您使用上下文元素进行配置时:我建议不要使用webapps目录来部署您的webapps。只需指向您实际部署webapp的目录。这将确保没有上下文从
webapps/appname
作为
/appname
部署您的应用,即使您的上下文定义指向
/

另一种方法是在webapps中部署名为
ROOT
的应用程序-这是实际部署此webapp为
/
的快捷方式(注意:即使在Windows上,目录或文件名(ROOT.war)的所有大写字母,如果我没记错的话)。但我认为,如果您决定使用上下文定义来确定路径(但部署在appbase之外(
webapps
),或者部署在appbase中(例如
webapps
)会更清楚


使用appbase进行模拟,指向webapps中的某个目录,这将确保您激怒任何希望
webapps
目录中的应用程序将部署到Tomcat的人。这是一种将大量时间投入调试虚拟问题的简单方法-不要这样做。

请将您的问题放回什么时候你是第一次发布的。一个问题不是一个对话,当你得到答案时可以改变。正如我现在读到的,没有问题。对不起,克里斯,但第一个公式确实不清楚,太长了…我只是用一种更简单、更紧凑的方式重新表述了相同的概念。谢谢你的答案,奥拉夫,但我已经知道了。我已经知道了I don’我没有重新提出这个问题来更好地解释我想做什么。无论如何,谢谢
<Host name="my_domain.eu" appBase="webapps" unpackWARs="true" autoDeploy="true">
            <Alias>www.my_domain.eu</Alias>
            <Alias>www.my_domain.it</Alias>
            <Alias>www.my_domain_2.it</Alias>
            <Context path="" docBase="appname" debug="0" privileged="true" />
            ...
    </Host>
<Host name="my_domain.eu" appBase="webapps/appname" unpackWARs="true" autoDeploy="true">
                <Alias>www.my_domain.eu</Alias>
                <Alias>www.my_domain.it</Alias>
                <Alias>www.my_domain_2.it</Alias>
                <Context path="" docBase="appname" debug="0" privileged="true" />
                ...
        </Host>
<Host name="my_domain.eu" appBase="webapps/appname" unpackWARs="true" autoDeploy="true">
                <Alias>www.my_domain.eu</Alias>
                <Alias>www.my_domain.it</Alias>
                <Alias>www.my_domain_2.it</Alias>
                <Context path="/appname" docBase="appname" debug="0" privileged="true" />
                ...
        </Host>
<Host name="my_domain.eu" appBase="webapps/appname" unpackWARs="true" autoDeploy="true">
                    <Alias>www.my_domain.eu</Alias>
                    <Alias>www.my_domain.it</Alias>
                    <Alias>www.my_domain_2.it</Alias>
 <!-- without context definition -->
                    ...
            </Host>