首先是在bin 目錄下解壓 commons-daemon-native.tar.gz 並進入目錄編譯,生成jsvc 文件,cp 到 bin 目錄下. java
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 ../../ tomcat
vi daemon.sh bash
加入 jvm
TOMCAT_USER=tomcat
export JAVA_HOME=/usr/java/jdk1.7 優化
找到 JAVA_OPS 加入jvm 優化參數,例如: unix
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" rest
修改日誌輸出文件與進程id 文件名 日誌
test ".$CATALINA_OUT" = . && CATALINA_OUT="$CATALINA_BASE/logs/catalina.out" 進程
test ".$CATALINA_PID" = . && CATALINA_PID="$CATALINA_BASE/logs/catalina.pid" ip
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