
Я управляю сервером 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
.