应用commons-daemon项目里的jsvc工具可以很好地运行Tomcat。 Tomcat二进制(binaries)
里有jsvc的source tarballs, 需要被编译。 建立(building) jsvc需要用C ANSI编译器(如 GCC),
GNU, Autoconf, and a JDK。
在运行脚本(script)之前, JAVA_HOME
的环境变量要被设定在JDK的基础路径
(base path)里,或者在调用(calling) ./configure
脚本时,
用--with-java
参数(parameter)来设定JDK的路径,
比如./configure --with-java=/usr/java
。
应用下面的指令(command)可以产生一个编译过的jsvc二进制(文件),这个文件放在
$CATALINA_HOME
/bin文件夹。 这里假设使用了GNU TAR, 同时
$CATALINA_HOME环境变量(environment variable)被设定在Tomcat安装的基础
路径上。 $CATALINA_HOME/bin
请注意,你要用GNU make(g make),而不是用FreeBSD系统(system)本身的BSD make.
| | |
|
cd $CATALINA_HOME/bin
tar xvfz jsvc.tar.gz
cd jsvc-src
autoconf
./configure
make
cp jsvc ..
cd ..
| |
| | |
然后Tomcat就可以用下面的命令很好地运行:
| | |
|
cd $CATALINA_HOME
./bin/jsvc -Djava.endorsed.dirs=./common/endorsed -cp ./bin/bootstrap.jar \
-outfile ./logs/catalina.out -errfile ./logs/catalina.err \
org.apache.catalina.startup.Bootstrap
| |
| | |
javc还有其他的有用的参数,就象-user
(用户),在daemon初始化(initialization)
完成以后,使它转换到另一个用户。这样,既使没有特使权的用户来运行Tomcat,也可以使用特定
的端口(privileged port)。 jsvc --help
会提供全面的jsvc使用信息。
特别是-debug
选项在jsvc运行时对排错很有用。
文件$CATALINA_HOME/bin/jsvc/native/tomcat.sh 可被用作样板(template),在
开机时从/etc/init.d
自动启动Tomcat。 这个文件目前被设置来运行 Tomcat 4.1x,
所以需要修订一下,把类名(classname) Bootstrap
Service
改成Bootstrap。 $CATALINA_HOME/bin/jsvc/native/tomcat.sh
Commons-Daemon的JAR文件一定要在运行时的 classpath里面。如果你因为 Commons-Daemon
得到一个 ClassNotFoundException 或 NoClassDefFoundError, 请把 Commons-Daemon 的
JAR 用 -cp 选项加入到 classpath 里面,然后再启动 jsvc.