Chinaunix首页 | 论坛 | 博客
  • 博客访问: 745375
  • 博文数量: 256
  • 博客积分: 3502
  • 博客等级: 中校
  • 技术积分: 3988
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-17 21:13
文章分类

全部博文(256)

文章存档

2014年(11)

2013年(134)

2012年(111)

我的朋友

分类: 系统运维

2013-04-18 09:57:19

(1) 安装 jsvc

    按照tomcat官方的要求,tomcat作为一个守护程序运行,需要用到jsvc工具:
Tomcat can be run as a daemon using the jsvc tool from the commons-daemon project。    执行以下命令:
    cd tomcat/bin
    tar xvfz jsvc.tar.gz
    cd jsvc-src
    support/buildconf.sh
    这里会用到autoconf,如果没有需要安装。恩,SUSE SLES11默认就是没有安装。Yast上去轻松搞定!

    成功后可以看到:
    support/buildconf.sh: configure script generated successfully

    buildconf.sh会自动复制bootstrap.jar和commons-daemon.jar两个jar文件到tomcat/bin目录,这两个文件后面需要使用。

(2) 制作启动脚本
    jsvc下带有两个tomcat.sh的模板,Tomcat.sh为tomcat4.*版本使用,Tomcat5.sh为tomcat5.*使用,很奇怪没有tomcat6.*的模板。只好使用tomcat5的自己改改。复制模板脚本到etc/init.d:

    cp tomcat/bin/jsvc-src/native/Tomcat5.sh /etc/init.d/tomcat
    chmod +x /etc/init.d/tomcat
    下面是关键了,修改这个脚本的内容,标记为蓝色的部分是新加的内容,红色部分为在原有模板上修改

1. 加入LSB tags
    原有的模板文件中没有这个LSB tags内容,在执行chkconfig命令时会发出警告。

ss-server:/etc/rc.d # chkconfig tomcat on
insserv: warning: script 'tomcat' missing LSB tags and overrides
insserv: Default-Start undefined, assuming default start runlevel(s) for script `tomcat'
    因此需要自己加入相应的信息,如下所示,加到#!/bin/sh这行下:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          tomcat
# Required-Start:    $remote_fs $network
# Required-Stop:     $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: The tomcat Java Application Server
### END INIT INFO
2. 设置路径

# Adapt the following lines to your configuration
JAVA_HOME=/work/soft/java/jdk/jdk
CATALINA_HOME=/work/soft/tomcat
DAEMON_HOME=/work/soft/tomcat/bin
TOMCAT_USER=sky
注意DAEMON_HOME设置到tomcat/bin, TOMCAT_USER可以修改为非root用户以提高安全性。

3. multi instances
    因为只有一个instance,不需要,不过还是将CATALINA_BASE设置为和CATALINA_HOME一致

# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/jsvc.pid
CATALINA_BASE=/work/soft/tomcat
4. 参数
    CATALINA_OPTS清空,CLASSPATH不用改,注意bin目录下的commons-daemon.jar和bootstrap.jar,是 前面的support/buildconf.sh脚本执行后才出来的,如果发现没有这两个jar文件,说明你没有执行support /buildconf.sh。

CATALINA_OPTS=
CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar
5. 启动的命令行
    $DAEMON_HOME/********* \这行一定要改,tomcat6的路径和tomcat5似乎有变化,模板里面的路径完全不对。不要忘了同时修改start/stop两处。其他内容不用变:

case "$1" in
  start)
    #
    # Start Tomcat
    #
    $DAEMON_HOME/jsvc-src/jsvc \
    -user $TOMCAT_USER \
    -home $JAVA_HOME \
  ......

    为了检测上面的脚本是否有效,可以直接执行/etc/rc.d/tomcat start/stop来看tomcat的启动和关闭是否正确。

(3) 设置开机启动
   
    执行chkconfig tomcat on。
    重启SUSE后,发现tomcat已经自动启动了。
阅读(919) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~