完璧な Tomcat 仮想化設定ファイルとは何ですか?

完璧な Tomcat 仮想化設定ファイルとは何ですか?

私は nginx の背後で tomcat サーバーを管理しています。tomcat には複数の Web アプリケーションがあります。私の OS は Digital Ocean 上の Ubuntu 18.04LTS です。

すべて正常に動作していましたが、突然 1 つの問題が発生しました。Tomcat は正常に動作していますが、Web アプリケーションが動作していません。また、サーバー ログにはライブラリが見つからないというメッセージが表示されますが、まだ存在しています。

それで、何が問題なのか誰か教えてくれませんか?

または、誰かが私に完璧な/実稼働レベルserver.xmltomcat8.service構成ファイルを提案してください。

サーバー.xml- 仮想ウェブアプリの1つ

  <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

ここに画像の説明を入力してください

追伸: 私はここで何度も非常に悪い経験をしました(評判の良い人 5000 人未満)。回答したくない場合は、そのままにしておいてください。専門家に連絡したり、このような回答を投稿しないでください。問題があるため、十分な調査を行った後、ここに質問を投稿します。

編集 1: 前に言及し忘れたことがもう 1 つあります。 を介して新しいものをデプロイしgitlab runner、その後、再ロードwebappsのみを実行しています。Tomcat サービスは再起動していません。 の再ロードについては、ファイルwebappsで言及しています。context.xml

答え1

アプリケーションの起動中に、Tomcat は( Debianoid の場合)、(通常、実行中の Tomcat が 1 つだけの場合)、およびアプリケーションごとのフォルダー内*.jarのすべてのファイルをスキャンします。$CATALINA_HOME/lib/usr/share/tomcat8/lib$CATALINA_BASE/lib/var/lib/tomcat8/libWEB-INF/lib

ログには、リストは表示できるが開くことができない jar ファイルがいくつかあることが示されています/var/lib/tomcat8/lib/lib。私の推測では、これらはインストール中に誤って追加した、ぶら下がっているシンボリック リンクです。

注記: 一部の JDBC ドライバーなどを除き、アプリケーションでは 内のファイルは必要ありません$CATALINA_BASE/lib

関連情報