Ubuntu 服务器上的 tomcat 5.5 启动脚本

Ubuntu 服务器上的 tomcat 5.5 启动脚本

有谁能分享一下他们的 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

相关内容