
我在 nginx 後面管理 tomcat 伺服器。 Tomcat 中有多個 Web 應用程式。我的作業系統是 Digital Ocean 上的 Ubuntu 18.04LTS。
一切正常,但突然出現了一個問題。 Tomcat 運作正常,但 web 應用程式無法運作!在伺服器日誌中,它顯示了庫丟失,但它仍然存在。
那麼,有人建議我有什麼問題嗎?
或者有人請向我建議完美/生產等級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
SS 表示錯誤catlina.out
PS:我在這裡有過很多次非常糟糕的經歷(< 5000 名聲譽良好的人)。如果你不想回答請離開。不要發布諸如聯繫專業人士之類的答案。我有一個問題,所以經過良好的研究工作後,我在這裡發布我的問題。
編輯1:我之前忘記提到的另一件事 - 我正在通過 部署新東西gitlab runner
,然後僅在重新加載後webapps
。不重新啟動tomcat服務。對於重新加載webapps
,我在context.xml
文件中提到。
答案1
在應用程式啟動期間,Tomcat 會掃描(在 Debianoid 上)(通常如果您只有一個 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
.