我正在尝试设置 Tomcat 以从新贵开始。我发现以下作品:
description "Tomcat Server"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
respawn limit 10 5
setuid tomcat
env JAVA_HOME=/usr/lib/jvm/default-java
env CATALINA_HOME=/opt/apache-tomcat-7.0.34
script
chdir $CATALINA_HOME
exec $CATALINA_HOME/bin/catalina.sh run
end script
Run Code Online (Sandbox Code Playgroud)
但是如果我删除chdir
,tomcat 会启动,但是FileNotFound
当我.wars
加载时有很多例外。(也就是说:.wars
它们自己确实加载了但它们在加载时抛出异常。)
请注意,此行为与我从命令行调用时所看到的不同catalina.sh
。从命令行调用,我可以/opt/apache-tomcat-7.0.34/bin/catalina.sh run
从任何目录(没有 chdiring)运行,一切都很好。
那么为什么chdir
在我的新贵脚本中是必要的呢? (新贵环境与我的命令行环境有何不同?)
我不使用 chdir 时看到的错误示例:
Feb 22, 2013 3:00:11 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive my-war.war
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: my-war.log …
Run Code Online (Sandbox Code Playgroud)