У Tomcat возникают проблемы с двойными экземплярами Host, Contexts и webapp. - PullRequest
0 голосов
/ 14 декабря 2018

/ ... слишком длинное и неясное объяснение ... /

Другими словами, я ищу правильный способ попасть на сайт просто (одно или более) доменное имя (затем www.my_domain.it, а не www.my_domain.it/appname), и все они должны указывать на один и тот же экземпляр веб-приложения (чтобы из любого доступного вами доменного имени была одна и та же среда выполненияданные всегда будут отображаться).

Итак, да, я развернул WAR-файл в папке tomcat / webapps, теперь правильное редактирование файла conf / server.xml для получения результата, указанного выше, соответствует одномуиз следующих?

1.

<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>

2.

<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>

3.

<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>

4.

<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>

В противном случае, каково правильное решение?Спасибо всем!

1 Ответ

0 голосов
/ 14 декабря 2018

Я предполагаю, что у вас есть один из экземпляров вашего приложения в каталоге webapps, откуда оно автоматически развертывается под своим именем.С помощью элемента Context вы можете развертывать приложения из любой точки файловой системы.

Однако рекомендуется не редактировать server.xml с этой информацией, а создавать отдельные файлы context.xml в файле conf / hostname илипросто разверните в директории хоста webapps.Все, что вы конфигурируете в server.xml, требует перезапуска сервера, если вы хотите что-то изменить.Конфигурация за пределами server.xml может быть получена во время выполнения без перезапуска.

Редактировать: Вероятно, вывод моего предыдущего ответа был неясен:

Когда вы используете элементы контекста для настройки:Я предлагаю не использовать каталог веб-приложений для развертывания ваших веб-приложений.Просто укажите каталог, в котором вы фактически развернули свое веб-приложение.Это гарантирует, что ни один контекст не будет развертывать ваше приложение с webapps/appname как /appname, даже если ваше определение контекста указывает на /.

Альтернативой является развертывание приложения с именем ROOTв веб-приложениях - это ярлык для фактического развертывания этого веб-приложения как / (осторожно: ВСЕ CAPS для имени каталога или файла (ROOT.war) даже в Windows, если я правильно помню).Но IMHO было бы более понятно, если вы решите либо для определения контекста определить путь (но развернуть за пределами appbase (webapps), либо для развертывания в appbase (например, webapps)) развертывание.

Перебирая appbase для указания на какой-либо каталог в веб-приложениях, вы наверняка будете раздражать любого, кто ожидает, что приложения из каталога webapps будут развернуты в Tomcat. Это простой способ потратить много времени.времени на устранение фантомных проблем - не делайте этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...