Какой файл конфигурации виртуализации Tomcat является идеальным?

Какой файл конфигурации виртуализации Tomcat является идеальным?

Я управляю сервером tomcat за nginx. В tomcat есть несколько веб-приложений. Моя ОС — Ubuntu 18.04LTS на Digital Ocean.

Все работает отлично, но вдруг у меня возникла одна проблема. Tomcat работает отлично, но веб-приложения не работают! И в журналах сервера отображается, что библиотека отсутствует, но она все еще существует.

Итак, кто-нибудь подскажет мне, в чем проблема?

или кто-нибудь, пожалуйста, предложите мне идеальный/производственный уровень server.xmlи tomcat8.serviceфайл конфигурации.

сервер.xml- одно из виртуальных веб-приложений

  <Service name="tm_xxx">
    <Connector port="7072" maxHttpHeaderSize="7192"
        maxThreads="1000" minSpareThreads="45" maxSpareThreads="100"
        enableLookups="false" redirectPort="9443" acceptCount="100"
        connectionTimeout="20000" disableUploadTimeout="true" />
        <Connector port="7172"
        enableLookups="false" redirectPort="9043" protocol="AJP/1.3" />

    <Engine name="tm_LB2" defaultHost="localhost">
        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
            resourceName="UserDatabase"/>
            <Host name="localhost" appBase="tm_xxx"
                unpackWARs="true" autoDeploy="true"
                xmlValidation="false" xmlNamespaceAware="false">
                <Valve className="org.apache.catalina.valves.ErrorReportValve"
                    showReport="false"
                    showServerInfo="false" />
            </Host>
    </Engine>
</Service>
                                                                                   

tomcat8.сервис

[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/etc/init.d/tomcat8
Description=LSB: Start Tomcat.
Before=multi-user.target
Before=multi-user.target
Before=multi-user.target
Before=graphical.target
After=remote-fs.target
After=network-online.target
After=nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
Restart=always
RestartUSec=50ms
TimeoutStartSec=1min
TimeoutStopSec=1min
TimeoutSec=1min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
SuccessExitStatus=5 6
ExecStart=/etc/init.d/tomcat8 start
ExecStop=/etc/init.d/tomcat8 stop

SS для ОШИБКИ вcatlina.out

введите описание изображения здесь

PS: У меня много раз был очень плохой опыт здесь (< 5000 репутационных людей). Если вы не хотите отвечать, пожалуйста, покиньте сайт. Не публикуйте ответы типа «свяжитесь с профессионалом» или подобные. У меня возникла проблема, поэтому после хорошей исследовательской работы я публикую свой вопрос здесь.

EDIT 1: Еще одна вещь, о которой я забыл упомянуть ранее - я развертываю новые вещи через gitlab runner, а затем только после перезагрузки webapps. Не перезапуская службу tomcat. Для перезагрузки webappsя упоминаю в context.xmlфайле.

решение1

Во время запуска приложения Tomcat сканирует все *.jarфайлы в $CATALINA_HOME/lib( /usr/share/tomcat8/libв Debianoid) $CATALINA_BASE/lib(обычно, /var/lib/tomcat8/libесли у вас запущен только один Tomcat) и в папках каждого приложения WEB-INF/lib.

Ваши логи показывают, что у вас есть некоторые файлы jar в /var/lib/tomcat8/lib/lib(sic!), которые можно просмотреть, но нельзя открыть. Я предполагаю: это какие-то висячие символические ссылки, которые вы непреднамеренно добавили во время установки.

Примечание: За исключением некоторых драйверов JDBC и подобных им, вашему приложению не нужны никакие файлы в формате $CATALINA_BASE/lib.

Связанный контент