완벽한 Tomcat 가상화 구성 파일은 무엇입니까?

완벽한 Tomcat 가상화 구성 파일은 무엇입니까?

nginx 뒤에서 tomcat 서버를 관리하고 있습니다. Tomcat에는 여러 개의 웹앱이 있습니다. 내 OS는 Digital Ocean의 Ubuntu 18.04LTS입니다.

모든 것이 잘 작동하지만 갑자기 한 가지 문제가 나타났습니다. Tomcat은 잘 돌아가는데 웹앱은 작동하지 않습니다! 그리고 서버 로그에는 라이브러리 누락에 대한 내용이 표시되지만 여전히 거기에 존재합니다.

그럼, 누가 나에게 문제가 무엇인지 제안해 주실 수 있나요?

아니면 누군가 나에게 완벽한/프로덕션 레벨 server.xmltomcat8.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.service

[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

오류에 대한 SScatlina.out

여기에 이미지 설명을 입력하세요

추신: 나는 여기서 매우 나쁜 경험을 여러 번 경험했습니다(<5000명의 평판이 있는 사람들). 답변하기 싫으시면 나가주세요. 전문가에게 연락하거나 이와 같은 답변을 게시하지 마십시오. 문제가 있어서 좋은 조사 작업을 마친 후 여기에 질문을 게시합니다.

편집 1: 이전에 언급하는 것을 잊은 한 가지가 더 있습니다. 를 통해 새로운 것을 배포 gitlab runner한 다음 다시 로드한 후에 webapps만 수행합니다. Tomcat 서비스를 다시 시작하지 않습니다. 다시 로드하려면 파일 webapps에 언급했습니다 context.xml.

답변1

애플리케이션 시작 중에 Tomcat은 ( Debianoids의 경우) (일반적으로 Tomcat이 하나만 실행 중인 경우) 및 애플리케이션별 폴더에 *.jar있는 모든 파일을 검색합니다 .$CATALINA_HOME/lib/usr/share/tomcat8/lib$CATALINA_BASE/lib/var/lib/tomcat8/libWEB-INF/lib

/var/lib/tomcat8/lib/lib귀하의 로그에는 나열할 수 있지만 열 수 없는 일부 jar 파일이 있음을 나타냅니다 . 내 생각엔 이것들은 설치 중에 실수로 추가한 매달려 있는 기호 링크입니다.

메모: 일부 JDBC 드라이버 및 이와 유사한 드라이버를 제외하고 애플리케이션에는 $CATALINA_BASE/lib.

관련 정보