zoukankan      html  css  js  c++  java
  • linux下自动启动tomcat

    http://blog.csdn.net/prettywolf/archive/2007/03/10/1525911.aspx

    以下文章参考了网上的文章,但经过自己试验和整理。

    linux自动启动程序的方法很多,但是有时某些程序要设置环境变量的就会引起麻烦。

    tomcat启动时需要设置JAVA_HOME,CLASSPATH等环境变量,

    很多文章说设置好环境变量,把/path/startup.sh放到rc.local中就可以实现自动启动了,

    但是实际操作发现,很多的linux版本因为安全原因,rc.local中忽略了export命令,也就是说在这里设置的export都是无效的,以下为转贴的方法:

    在Linux下,Tomcat可以作为一个守护进程来启动以及停止,这个必须借助于项目commons-daemon中的jsvc工具。Tomcat安装完后就带有这个工具的源码{tomcat}/bin/jsvc.tar.gz。按照下列命令安装这个工具:

    解压: tar zxvf jsvc.tar.gz

    配置: cd jsvc-src

    chmod +x configure

    。/configure --with-java=/usr/local/jdk1.5.0

    编译: make

    检验: 。/jsvc -help

    jsvc工具本身带了一个脚本(在native目录下)用来启动和停止Tomcat守护进程,但是在试验中发现该脚本无法设置为自动启动,显示的错误信息是:tomcat 服务不支持 chkconfig,因此修改了此脚本,可以从此处下载:tomcat.txt

    程序代码:(网上大部分代码有错误,经修改运行OK)

    #!/bin/sh

    #

    # Startup Script for Tomcat5

    #

    # chkconfig: 345 87 13

    # description: Tomcat Daemon

    # processname: jsvc

    # pidfile: /var/run/jsvc.pid

    # config:

    #

    # Source function library.

    #/etc/init.d/functions 我的系统没有这个文件,不过注释掉这行没影响

    #

    prog=tomcat

    #

    # Small shell script to show how to start/stop Tomcat using jsvc

    # If you want to have Tomcat running on port 80 please modify the server.xml

    # file:

    #

    # <!-- Define a non-SSL HTTP/1.1 Connector on port 80 -->

    # <Connector className="org.apache.catalina.connector.http.HttpConnector"

    # port="80" minProcessors="5" maxProcessors="75"

    # enableLookups="true" redirectPort="8443"

    # acceptCount="10" debug="0" connectionTimeout="60000"/>

    #

    # You need a developement version of Tomcat (Apache Tomcat/4.1-dev)

    #

    # Adapt the following lines to your configuration

    JAVA_HOME=/usr/local/jdk1.5.0

    CATALINA_HOME=/usr/local/apache-tomcat-5.5.16

    DAEMON_HOME=$CATALINA_HOME/bin

    TOMCAT_USER=tomcat5

    TMP_DIR=/var/tmp

    CATALINA_OPTS=

    CLASSPATH=$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/bin/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar

    start(){

    echo -n $"Starting $prog: "

        #

        # Start Tomcat

        #

    $DAEMON_HOME/jsvc \
        -user $TOMCAT_USER \
        -home $JAVA_HOME \
        -Dcatalina.home=$CATALINA_HOME \
        -Djava.io.tmpdir=$TMP_DIR \
        -outfile $CATALINA_HOME/logs/catalina.out \
        -errfile '&1' \
        $CATALINA_OPTS \
        -cp $CLASSPATH \
        org.apache.catalina.startup.Bootstrap
        #网上文章上面几行中有空行,会导致出错

        # To get a verbose JVM

        #-verbose \

        # To get a debug of jsvc.

        #-debug \

        RETVAL=$?

        [ $RETVAL = 0 ] && touch /var/lock/subsys/jsvc

    #我的系统没有/var/lock/subsys这个文件夹,建立一个OK
        [ $RETVAL = 0 ] && echo success || echo failure

        echo

        return $RETVAL

    }

    stop(){

        echo -n $"Stopping $prog: "

        #

        # Stop Tomcat

        #

        PID=`cat /var/run/jsvc.pid`

        kill $PID

        RETVAL=$?

        [ $RETVAL = 0 ] && rm /var/lock/subsys/jsvc

        [ $RETVAL = 0 ] && echo success || echo failure

        echo

        return $RETVAL

    }

    case "$1" in

    start)

    start

    ;;

    stop)

    stop

    ;;

    restart|reload)

    stop

    start

    ;;

    *)

    echo "Usage $0 start/stop"

    exit 1;;

    esac

    修改下载的脚本里面有关路径的信息以及要启动Tomcat的用户(用户必须已存在)

    拷贝脚本到/etc/rc.d/init.d目录下的tomcat文件,给该脚本赋予可执行权限

    chown tomcat5 tomcat

    chmod +x tomcat

    你可以使用命令

    /etc/rc.d/init.d/tomcat start|stop

    来验证守护进程是否可以正常启动和停止。

    接下来就是把这个脚本设置成系统启动时自动执行,系统关闭时自动停止,使用如下命令:

    chkconfig --add tomcat

    重新启动系统后可以启动的过程中看到Starting Tomcat ..... [OK]的信息,这样就完成设置过程。

    自已再补充一点,要把apache-tomcat-5.5.16下的work所有者设成tomcat5 ,否则会出错。



    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1525911

  • 相关阅读:
    LeetCode OJ 112. Path Sum
    LeetCode OJ 226. Invert Binary Tree
    LeetCode OJ 100. Same Tree
    LeetCode OJ 104. Maximum Depth of Binary Tree
    LeetCode OJ 111. Minimum Depth of Binary Tree
    LeetCode OJ 110. Balanced Binary Tree
    apache-jmeter-3.1的简单压力测试使用方法(下载和安装)
    JMeter入门教程
    CentOS6(CentOS7)设置静态IP 并且 能够上网
    分享好文:分享我在阿里8年,是如何一步一步走向架构师的
  • 原文地址:https://www.cnblogs.com/cy163/p/1159740.html
Copyright © 2011-2022 走看看