Tomcat долгое время загрузки после изменения конфигурации - PullRequest
0 голосов
/ 05 февраля 2019

Я использую Tomcat 8.5 и Jersey для настройки REST Api.Обычно это занимает до 2 минут до запуска.Однако после любых изменений в конфигурации, например, включения CORS или добавления ключей SSL, время загрузки увеличивается до 4 часов и иногда вообще не загружается.Это нормально?Есть ли шанс сократить это время?

Проект также использует OpenCV 3.4.2 и deeplearning4j.Он развернут в Google Cloud с типом машины: n1-standard-4 (4 виртуальных ЦП, 15 ГБ памяти) в Ubuntu 18.04 64bit.

Я запускаю Tomcat с помощью команды:

$ sudo /opt/tomcat/bin/startup.sh

инемедленно увидеть результат:

Using CATALINA_BASE:   /opt/tomcat
Using CATALINA_HOME:   /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Tomcat started.

Однако после этого загрузка браузера или приложения-менеджера в браузере занимает пару часов.

@ Edit

После нескольких часов ожидания httpработает как брелок, но https не отвечает (ошибка тайм-аута).

Я настраивал SSL-сертификат с сайта letsencrypt.org на tomcat в соответствии с этого руководства с изменением порта 8443 в server.xml:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
    maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate certificateFile="conf/cert.pem"
                 certificateKeyFile="conf/privkey.pem"
                 certificateChainFile="conf/chain.pem" />
          </SSLHostConfig>
</Connector>

Для порта 443:

<Connector port="443"     protocol="org.apache.coyote.http11.Http11NioProtocol"
    maxThreads="150" SSLEnabled="true">
        ...
</Connector>

1 Ответ

0 голосов
/ 06 февраля 2019

Точная причина до сих пор загадка, но «переустановить все» сработало хорошо.Возможно, я допустил некоторые ошибки во время установки Tomcat или Java.

Если кто-то столкнется с подобной проблемой, вот как я это настроил.

  1. Установите java через apt.

  2. Установить tomcat как службу, запущенную с systemctl .

  3. Добавить letsencrypt через certbot .

  4. Перенаправление портов с использованием iptables .

  5. Включение CORS в соответствии с документированием .

...