Tomcat развертывает несколько военных пакетов

Java

1. Предпосылки

Установлен JDK1.8-u181 (на самом деле достаточно установить JRE, но у меня на руках установочный пакет JDK, зачем его качать) и Tomcat8.5.53.

После установки JAVA_HOME и Path настраиваются в переменных окружения. Он оснащен JRE, а не JDK.

Выпустить два военных пакета, MES и ERP.

2 Установите Томкэт

Я использую файл .exe для установки, и после установки не настроен tomvat_home (потому что я не знаю, нужно ли его настраивать)

3 Скопируйте папку

3.1 Каталог установки\conf\Catalina

Catalina — это папка, сделайте две копии Catalina, одну с именем CatalinaMES, а другую с именем CatalinaERP, обе поместите в安装目录\confПод содержанием

3.2 Каталог установки\webapps

webapps также является папкой, скопируйте две копии, одну с именем webappsMES, а другую с именем webappsERP, обе поместите安装目录Вниз

Военный пакет проекта МЧС размещен в安装目录\webappsMESВниз

Военный пакет проекта ERP размещен на安装目录\webappsERPВниз

4 Измените файл конфигурации

Исправлять安装目录\conf\server.xmlсодержание

<?xml version="1.0" encoding="UTF-8"?>

<Server port="-1" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />

  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <GlobalNamingResources>

    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>

  <!-- 部署mes -->
  <Service name="CatalinaMES">

    <Connector port="8085" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

    <Engine name="CatalinaMES" defaultHost="localhost">

      <Realm className="org.apache.catalina.realm.LockOutRealm">

        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase="webappsMES"
            unpackWARs="true" autoDeploy="true">

            <Context path="/mes-manager-web" docBase="C:\Program Files\Tomcat 8.5\webappsMES\mes-manager-web" debug="0" privileged="true"></Context>

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>
    </Engine>
  </Service>

  <!-- 部署erp -->
  <Service name="CatalinaERP">

    <Connector port="8082" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

    <Engine name="CatalinaERP" defaultHost="localhost">


      <Realm className="org.apache.catalina.realm.LockOutRealm">

        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase="webappsERP"
            unpackWARs="true" autoDeploy="true">

        <Context path="/erp-manager-web" docBase="C:\Program Files\Tomcat 8.5\webappsERP\erp-manager-web" debug="0" privileged="true"></Context>


        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>
    </Engine>
  </Service>
</Server>

Среди них нода представляет сервис, то есть развернутый проект.

Атрибут name узла меняется на имя соответствующей папки Catalina. Атрибут имени узла также изменяется на имя соответствующей папки Catalina.

Атрибут порта узла — это номер порта проекта, будьте осторожны, чтобы не конфликтовать.

Свойство appBase узла изменяется на соответствующую папку веб-приложений.

Атрибут пути узла — это адрес при доступе, то есть адрес доступа к элементу服务器ip:项目端口号/path属性的值. В соответствии с текущей конфигурацией локальный адрес доступа моего проекта MES:127.0.0.1:8085/mes-manager-web. Атрибут docBase узла — это локальный путь к военному пакету проекта, если он изменен на абсолютный путь к военному пакету на локальном компьютере.

5 Измените файл startup.bat и shutdown.bat.

редактировать安装目录\bin\startup.bat, добавьте вверху:

SET JAVA_HOME=C:\Program Files\Java\jre1.8.0_181
SET TOMCAT_HOME=C:\Program Files\Tomcat 8.5

Первый — это место установки JRE, а второй — путь установки tomcat.

Добавьте тот же контент в то же место в файле shutdown.bat.

6 Дважды щелкните файл startup.bat, чтобы запустить Tomcat.

Обратите внимание, что в это время откроется окно DOS, в котором будет напечатана информация о запуске проекта, такая как консоль IDEA,Когда проект запустится успешно, не закрывайте окно dos, оставьте его открытым, если вы выключите tomcat, он перестанет работать

7 Примечания

Если в нескольких проектах используется среда Spring, может появиться сообщение об ошибке при настройке многопортового мультиприложения tomcat.

Обходной путь: добавьте следующие узлы в файл web.xml каждого проекта:

<context-param>
    <param-name>webAppRootKey</param-name>
    <param-value>webapp.root</param-value>
</context-param>

Убедитесь, что файл web.xml каждого проекта отличается для webAppRootKey. Например, первый использует webapp.root1, второй использует webapp.root2 и так далее.

Также обратите внимание на то, разрешает ли брандмауэр сервера внешний доступ к портам, которые вы хотите настроить.

Эта статья публикуется блогерами и другими операционными платформами.OpenWriteвыпуск