据说有若干方法,我试过可行的方法是下面这一种,以Tomcat6为例。
1. 安装好JDK,放置在$Java_HOME变量中
2. 解压Tomcat6,假设为$CATALINA_HOME;在bin目录中,解压jsvc.tar.gz,例如到$CATALINA_HOME/bin/jsvc_src,假设这个目录为$DAEMON_HOME
3. 在$DAEMON_HOME中新建一个env.sh,设置并export好$JAVA_HOME,$CATALINA_HOME,$DAEMON_HOME等环境变量(具体内容基本参考$DAEMON_HOME/native/Tomcat5.sh)。在此执行. ./env.sh,使这些变量在当前shell会话生效。
4. 在$DAEMON_HOME中执行./configure(当然在执行前需要chmod +x),然后make。可以在$DAEMON_HOME下测试./jsvc -help
5. 观察$DAEMON_HOME/native/Tomcat5.sh,可以看到它已经变化了,于是将它稍作修改,将tmp目录、pid文件,日志目录等参数改为当前用户可以访问的路径;如果使用jrockit,可以在jsvc的命令执行部分加入参数-jvm ‘jrockit’。而后拷贝这个文件,更名为tomcat6d,修改注释部分加入这两行:
# chkconfig: – 96 50
# description: Tomcat 6 startup and shutdown
6. 拷贝tomcat6d到/etc/init.d/,并在命令行执行sudo chkconfig –add tomcat6d
7. 如果6成功,可以执行sudo chkconfig tomcat6d on,将此服务调整为OS启动运行
注意,这种方式启动的tomcat6,在用ps -ef| grep java查看进程时,会发现系统有两个tomcat进程,这是正常的。