关于在Debian下自动运行Tomcat的问题

一、问题:
情况是这样的:Debian Etch,可以在shell下正常启动的Tomcat(安装到/usr/share/tocmat5.5),已经正确安装的JDK,已经配置的环境变量(JAVA_HOME,CATALINA_HOME,PATH,CLASSPATH)。

要求是:在开机以后Tomcat自动运行。

二、尝试:
1 编写脚本/etc/init.d/tomcat5.5。内容如下:
#!/bin/sh
/usr/share/tomcat5.5/bin/catalina.sh start

在shell提示符下执行命令:
update-rc.d tomcat5.5 start 99 1 2 3 4 5 .
重新启动系统。Tomcat并没有运行。

2 在shell提示符下执行命令:
update-rc.d -f tomcat5.5 remove
rm /etc/init.d/tomcat5.5
ln -s /usr/share/tomcat5.5/bin/start.sh tomcat5.5
update-rc.d tomcat5.5 start 99 1 2 3 4 5 .
重新启动系统。Tomcat没有运行。

三、思考
问题出在哪?既然可以在shell下可以正确启动Tomcat,为什么不能在开机时候自动运行?环境变量设置在文件/etc/profile里。难道是在开机,执行文件/etc/init.d/tomcat5.5时环境变量还没有设置?很有可能。

通过对比文件:/usr/share/tomcat5.5/bin/catalina.sh和文件/usr/share/tomcat5.5/bin/start.sh我发现start.sh也是通过调用文件/usr/share/tocmat5.5/bin/catalina.sh来启动Tomcat服务的。如果我把环境变量添加到文件catalina.sh的最前面。这样在执行这个文件时,环境变量不就存在了吗?

四、结果
按照上面的思路,我修改了文件/usr/share/tomcat5.5/bin/catalina.sh,在文件中添加了如下内容:

export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
export JRE_HOME=/usr/lib/jvm/java-1.5.0-sun
export CATALINA_HOME=/usr/share/tomcat5.5
export CATALINA_BASE=/usr/share/tomcat5.5
export CATALINA_TMPDIR=/usr/share/tomcat5.5/temp

现在重新启动系统,Tomcat正常运行。

你可能感兴趣的:(关于在Debian下自动运行Tomcat的问题)