tomcat7 在redhat,centos 下标准服务启动脚本

首先是在bin 目录下解压 commons-daemon-native.tar.gz 并进入目录编译,生成jsvc 文件,cp 到 bin 目录下.

tar zxvf commons-daemon-native.tar.gz
commons-daemon-1.0.10-native-src/unix
./configure --with-java=/usr/java/jdk1.7
make
cp jsvc ../../
cd ../../

vi daemon.sh

加入

TOMCAT_USER=tomcat
export JAVA_HOME=/usr/java/jdk1.7

找到 JAVA_OPS 加入jvm 优化参数,例如:

JAVA_OPTS="-Xms2048m -Xmx2048m -Xss2048K -XX:PermSize=128m -XX:MaxPermSize=256m  \
           -XX:+UseCompressedOops -XX:+UseNUMA \
           -XX:ParallelGCThreads=8 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps  -XX:+PrintGCApplicationStoppedTime \
           -XX:+PrintConcurrentLocks -XX:+PrintClassHistogram  -Xloggc:logs/gc.log \
           -XX:+DisableExplicitGC \
           -XX:+UseParNewGC -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10"

修改日志输出文件与进程id 文件名

test ".$CATALINA_OUT" = . && CATALINA_OUT="$CATALINA_BASE/logs/catalina.out"

test ".$CATALINA_PID" = . && CATALINA_PID="$CATALINA_BASE/logs/catalina.pid"

cat << EOF > /etc/sysconfig/tomcat
PATH="\$PATH:/usr/java/jdk1.7/bin"
JAVA_HOME="/usr/java/jdk1.7"
CATALINA_HOME="/usr/local/tomcat7"
CATALINA_BASE="/usr/local/tomcat7"
CATALINA_PID="\$CATALINA_HOME/logs/catalina.pid"
CATALINA_OUT="\$CATALINA_HOME/logs/catalina.out"
EOF

cat /etc/init.d/tomcat
#!/bin/bash
#
# chkconfig: - 80 20
# description: catalina-daemon
 
# Source function library.
. /etc/rc.d/init.d/functions
 
if [ -f /etc/sysconfig/tomcat ]; then
  . /etc/sysconfig/tomcat
fi

 
tomcat=$CATALINA_HOME/bin/daemon.sh
prog=tomcat
lockfile=${LOCKFILE-/var/lock/subsys/jsvc}
RETVAL=0
 
start() {
    echo -n $"Starting $prog: "
    $tomcat start
     sleep 4
    RETVAL=$?
    if [ $RETVAL = 0 ]; then
        echo_success
        touch ${lockfile}
    else
        echo_failure
    fi
    echo
    return $RETVAL
}
 
stop() {
    echo -n $"Stopping $prog: "
    $tomcat stop
    RETVAL=$?
    if [ $RETVAL = 0 ]; then
        echo_success
        rm -f ${lockfile} ${CATALINA_PID}
    else
        echo_failure
    fi
    echo
    return $RETVAL
}
 
version() {
   $tomcat version
    RETVAL=$?
    return $RETVAL
}
 
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    condrestart)
        if [ -f ${CATALINA_PID} ] ; then
            stop
            start
        fi
        ;;
    status)
        status -p ${CATALINA_PID} $prog
        RETVAL=$?
        ;;
    version)
        version
        ;;
    *)
        echo $"Usage: $prog {start|stop|restart|condrestart|status|version}"
        exit 1
esac
 
exit $RETVAL

chmod 755 /etc/init.d/tomcat

chkconfig tomcat on

useradd -M -s /sbin/nologin tomcat

chown -R tomcat.tomcat /usr/local/tomact7

serviece tomcat start

你可能感兴趣的:(tomcat,tomcat7,启动,启动脚本,非root)