有谁能分享一下他们的 Tomcat 启动脚本吗?我正在寻找 Ubuntu 机器上的 tomcat 启动脚本。我的 Ubuntu 是 10.04 服务器。tomcat 是 5.5.30。
它位于 /opt/apache-tomcat-5.5.31
我尝试了一个脚本
#!/bin/bash
#
# tomcat
#
# chkconfig:
# description: Start up the Tomcat servlet engine.
# Source function library.
. /lib/lsb/init-functions
RETVAL=$?
CATALINA_HOME="/opt/apache-tomcat-5.5.31"
case "$1" in
start)
if [ -f $CATALINA_HOME/bin/startup.sh ];
then
echo $"Starting Tomcat"
/opt/apache-tomcat-5.5.31/bin/startup.sh
fi
;;
stop)
if [ -f $CATALINA_HOME/bin/shutdown.sh ];
then
echo $"Stopping Tomcat"
/opt/apache-tomcat-5.5.31/bin/shutdown.sh
fi
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
;;
esac
exit $RETVAL
但重启后它不起作用。但如果我这样做/etc/init.d/tomcat start
或/etc/init.d/tomcat stop
我已经这样做过,那么相同的脚本会起作用
update-rc.d tomcat defaults
,因为它是 Ubuntu 服务器,但在重启时所有这些都不起作用。
答案1
由于某些奇怪的原因,脚本在重启后无法运行,事实证明 Tomcat 需要 JAVA_HOME 变量才能自行启动。我在 .bashrc 中定义了这个变量,但这个脚本仍然无法工作。因此,当我在上面的脚本中定义 JAVA_HOME 时,它确实起作用了。
答案2
要在启动时启动服务,init 脚本应该位于目录中/etc/init.d
,但真正的启动和停止是由目录 /etc/rcX.d 中的符号链接触发的(X 是运行级别数字)。
在 Debian 衍生产品(例如 Ubuntu)上,当您的初始化脚本位于 中时/etc/init.d
,您可以使用update-rc.d
它来创建链接,例如,如果您的初始化脚本名为 tomcat :
update-rc.d tomcat default