Linux起动时Tomcat找不到JAVA虚拟机的问题

在SlackWare上为方便JAVA学习,尝试创建脚本让Tomcat开机自动启动。脚本存放在/etc/rc.d/rc.tomcat,并在/etc/rc.d/rc.local中调用。然而启动时因JAVA路径未生效导致问题。解决方案是直接在rc.tomcat脚本中指定JAVA_HOME路径,如`JAVA_HOME=/app/jdk1.5.0_06`并导出环境变量。完成设置后,Tomcat开机启动成功,可通过SSH和nmap检查8000端口状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       最近在SlackWare下进行JAVA的学习。每次都要手工起动Tomcat,很不方便。于是照猫画虎写了一个脚本开机时自动运行Tomcat。
       使用JDK1.5.6,安装在/app/jdk1.5.0_06目录下面,Tomcat是5.5的ZIP版本。
#!/bin/sh
#
# /etc/rc.d/rc.tomcat
#
# Start/stop/restart the Tomcat server.
#
 
tomcat_start() {
 if [ -x /app/tomcat5.5/bin/startup.sh ]; then
    echo "Starting Tomcat: /app/tomcat5.5/bin/startup.sh"
    /app/tomcat5.5/bin/startup.sh
 fi
}
 
tomcat_stop() {
 if [ -x /app/tomcat5.5/bin/startup.sh ]; then
    echo "Stop Tomcat: /app/tomcat5.5/bin/shutdown.sh"
    /app/tomcat5.5/bin/shutdown.sh
 fi
}
 
tomcat_restart() {
 tomcat_stop
 sleep 2
 tomcat_start
}
 
case "$1" in
'start')
 tomcat_start
 ;;
'stop')
 tomcat_stop
 ;;
'restart')
 tomcat_restart
 ;;
*)
 tomcat_start
esac
脚本存放路径/etc/rc.d/rc.tomcat。注意要赋予执行权限。
再在/etc/rc.d/rc.local文件中加上一句:/etc/rc.d/rc.tomcat这样每次起动时就会执行rc.tomcat文件。
 
起动时却出现问题是:
 
以往我们的JAVA路径信息是写在/etc/profile里的,如:
JAVA_HOME=/app/jdk1.5.0_06
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=.:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export JAVA_HOME CLASSPATH PATH
 
用户要登陆后才路径信息才能生效,于是就出现了手工可以起动Tomcat,但随机起动会出现问题。
       修改一下rc.tomcat的指动脚本,为它指定JDK路径就可以了。
#!/bin/sh
#
# /etc/rc.d/rc.tomcat
#
# Start/stop/restart the Tomcat server.
#
 
JAVA_HOME=/app/jdk1.5.0_06
export JAVA_HOME
 
tomcat_start() {
 if [ -x /app/tomcat5.5/bin/startup.sh ]; then
    echo "Starting Tomcat: /app/tomcat5.5/bin/startup.sh"
    /app/tomcat5.5/bin/startup.sh
 fi
}
 
tomcat_stop() {
 if [ -x /app/tomcat5.5/bin/startup.sh ]; then
    echo "Stop Tomcat: /app/tomcat5.5/bin/shutdown.sh"
    /app/tomcat5.5/bin/shutdown.sh
 fi
}
 
tomcat_restart() {
 tomcat_stop
 sleep 2
 tomcat_start
}
 
case "$1" in
'start')
 tomcat_start
 ;;
'stop')
 tomcat_stop
 ;;
'restart')
 tomcat_restart
 ;;
*)
 tomcat_start
esac
 
很简单,只是在脚本最开始前加了二行JAVA的路径信息:
JAVA_HOME=/app/jdk1.5.0_06
export JAVA_HOME
再看开机后的信息:
如果不相信,SSH进去nmap一下。
直于为什么会有一个8000的http-alt的端口,请参考我的另一篇文章《Tomcat5.5下打开远程调试端口》,这个远程端口默认情况下是不会打开的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值