我在 nginx 后面管理 tomcat 服务器。tomcat 中有多个 webapp。我的操作系统是 Digital Ocean 上的 Ubuntu 18.04LTS。
一切正常,但突然出现一个问题。Tomcat 运行正常,但 webapps 无法运行!服务器日志中显示缺少库,但库仍然存在。
那么,有人可以告诉我问题出在哪里吗?
或者有人请向我建议完美/生产级别server.xml
和tomcat8.service
配置文件。
服务器.xml- 虚拟 Web 应用程序之一
<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:还有一件事我之前忘了提 - 我通过部署新东西gitlab runner
,然后只是重新加载webapps
。不重新启动 tomcat 服务。对于重新加载webapps
,我在context.xml
文件中提到。
答案1
在应用程序启动期间,Tomcat 会扫描(在 Debianoids 上)*.jar
中的所有文件(通常如果您只运行一个 Tomcat)以及每个应用程序文件夹中的所有文件。$CATALINA_HOME/lib
/usr/share/tomcat8/lib
$CATALINA_BASE/lib
/var/lib/tomcat8/lib
WEB-INF/lib
您的日志表明您有一些 jar 文件/var/lib/tomcat8/lib/lib
(原文如此!)可以列出,但无法打开。我的猜测是:这些是一些悬空的符号链接,是您在安装过程中无意中添加的。
笔记:除了一些 JDBC 驱动程序和类似驱动程序之外,您的应用程序不需要任何文件$CATALINA_BASE/lib
。