Was ist die perfekte Tomcat-Virtualisierungskonfigurationsdatei?

Was ist die perfekte Tomcat-Virtualisierungskonfigurationsdatei?

Ich verwalte den Tomcat-Server hinter Nginx. In Tomcat gibt es mehrere Webanwendungen. Mein Betriebssystem ist Ubuntu 18.04LTS auf Digital Ocean.

Alles funktioniert einwandfrei, aber plötzlich ist ein Problem aufgetreten. Tomcat läuft einwandfrei, aber Webanwendungen funktionieren nicht! Und in den Serverprotokollen wird eine fehlende Bibliothek angezeigt, aber sie existiert dort immer noch.

Also, kann mir jemand einen Tipp geben, was das Problem ist?

oder schlägt mir bitte jemand die perfekte/Produktionsebene server.xmlund tomcat8.serviceKonfigurationsdatei vor.

server.xml- eine der virtuellen Webanwendungen

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

[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 für FEHLER incatlina.out

Bildbeschreibung hier eingeben

PS: Ich habe hier oft sehr schlechte Erfahrungen gemacht (< 5000 Leute mit schlechtem Ruf). Wenn Sie nicht antworten möchten, gehen Sie bitte. Posten Sie keine Antworten wie „Kontaktieren Sie einen Fachmann“ oder so etwas. Ich habe ein Problem, also poste ich meine Frage nach gründlicher Recherche hier.

EDIT 1: Noch etwas, das ich vorher vergessen habe zu erwähnen – ich stelle neue Dinge über bereit gitlab runnerund lade sie dann einfach neu webapps. Ich starte den Tomcat-Dienst nicht neu. Zum Neuladen webappserwähne ich es in context.xmlder Datei.

Antwort1

Während des Anwendungsstarts scannt Tomcat alle Dateien *.jar( $CATALINA_HOME/libunter /usr/share/tomcat8/libDebianoids), $CATALINA_BASE/lib(normalerweise, /var/lib/tomcat8/libwenn Sie nur einen Tomcat ausführen) und in den WEB-INF/libOrdnern pro Anwendung.

Aus Ihren Protokollen geht hervor, dass Sie einige Jar-Dateien haben, /var/lib/tomcat8/lib/libdie aufgelistet, aber nicht geöffnet werden können. Meine Vermutung ist: Das sind einige hängende symbolische Links, die Sie während der Installation versehentlich hinzugefügt haben.

Notiz: Mit Ausnahme einiger JDBC-Treiber und ähnlichem benötigt Ihre Anwendung keine Dateien im Format $CATALINA_BASE/lib.

verwandte Informationen