
nginx 뒤에서 tomcat 서버를 관리하고 있습니다. Tomcat에는 여러 개의 웹앱이 있습니다. 내 OS는 Digital Ocean의 Ubuntu 18.04LTS입니다.
모든 것이 잘 작동하지만 갑자기 한 가지 문제가 나타났습니다. 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.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/lib
WEB-INF/lib
/var/lib/tomcat8/lib/lib
귀하의 로그에는 나열할 수 있지만 열 수 없는 일부 jar 파일이 있음을 나타냅니다 . 내 생각엔 이것들은 설치 중에 실수로 추가한 매달려 있는 기호 링크입니다.
메모: 일부 JDBC 드라이버 및 이와 유사한 드라이버를 제외하고 애플리케이션에는 $CATALINA_BASE/lib
.