我如何让Tomcat自动启动?

我试图让Tomcat自动启动,而且我失败了。 (这是在Fedora 8上运行的Tomcat 6.0.16,基于Amazon ami-11ca2d78。)所以,按照标准的说明,我创build了/etc/init.d/tomcat ,内容如下:

  export JRE_HOME=/env/jdk1.6.0_07/jre/ case $1 in start) sh /env/tomcat/bin/startup.sh ;; stop) sh /env/tomcat/bin/shutdown.sh ;; restart) sh /env/tomcat/bin/shutdown.sh sh /env/tomcat/bin/startup.sh ;; esac exit 0 

我chmod 755它。 然后我创build软链接:

 ln -s /etc/init.d/tomcat /etc/rc1.d/K99tomcat ln -s /etc/init.d/tomcat /etc/rc2.d/S99tomcat 

但是,当我重新启动失败,日志显示此exception:

java.lang.IllegalArgumentException:Document base / env / tomcat / webapps / QCServer不存在或不是可读目录

但是,如果我运行/etc/init.d/tomcat start直接从命令行/etc/init.d/tomcat start ,一切工作正常。 这是一个可读的目录,每个人都有r + x的权限。 那么我究竟做错了什么? 非常感谢您的帮助!

AC

如果它是可读的,那么问题是它找不到目录。 当你手动启动tomcat时,你以“root”用户身份login,我猜测。 用户将CATALINA_HOME设置为指向安装tomcat的位置。 我觉得问题是tomcat无法find应用程序的基础目录。

在指定“QCServe”的基础目录的server.xml文件中,使用完整path而不是相对path。 如果您的应用程序安装在/ opt / apps / tomcat / webapps / QCServe中,则将该绝对path放在那里。

-N

你在跑什么跑步?

在/etc/rc3.d中创build链接

另存为/etc/init.d/tomcat,chkconfig添加tomcat。 根据需要编辑顶部的值以适应您的安装; 提供的值只是一个例子(特别是JAVA_OPTS内存设置)。

 #!/bin/sh # # Startup script for Tomcat # # chkconfig: 345 82 20 # description: Tomcat is a servlet runner JAVA_HOME=/usr/local/java TOMCAT_HOME=/usr/local/tomcat XMFILE=$TOMCAT_HOME/conf/server.xml JAVA_OPTS="-server -Xms1536m -Xmx1536m -Xmn384m -XX:+UseParallelGC" CATALINA_OPTS="" export JAVA_HOME TOMCAT_HOME JAVA_OPTS CATALINA_OPTS # See how we were called. case "$1" in start) cd $TOMCAT_HOME ./bin/startup.sh -config $XMFILE ;; stop) cd $TOMCAT_HOME ./bin/shutdown.sh -config $XMFILE ;; restart) $0 stop sleep 3 $0 start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac exit 0