linuxtomcat啟動,linux tomcat守護_Linux 系統下 Tomcat 的服務配置和性能優化

 2023-11-16 阅读 19 评论 0

摘要:近來發現很多 linux 系統管理員對 tomcat 系統服務的配置不是很規范,其實,Tomcat 自帶了一個守護進程管理工具 jsvc,可以用它來配置 Tomcat 的系統服務。linuxtomcat啟動,為了演示的需要,我準備了 jdk 和 tomcat:[root@RicenOS opt]#

近來發現很多 linux 系統管理員對 tomcat 系統服務的配置不是很規范,其實,Tomcat 自帶了一個守護進程管理工具 jsvc,可以用它來配置 Tomcat 的系統服務。

linuxtomcat啟動,為了演示的需要,我準備了 jdk 和 tomcat:

[root@RicenOS opt]# pwd

部署tomcat、/opt

[root@RicenOS opt]# ls

tomcat、java ? ?tomcat

進入到 tomcat 的 bin 目錄,解壓 commons-daemon-native.tar.gz:

[root@RicenOS opt]# cd tomcat/bin/

[root@RicenOS bin]# tar xvf commons-daemon-native.tar.gz

進入到解壓后的 unix 子目錄,配置并編譯:

[root@RicenOS bin]# cd commons-daemon-1.0.15-native-src/unix/

[root@RicenOS unix]# ./configure --with-java=/opt/java && make

把編譯生成的 jsvc 文件拷貝到 tomcat 的 bin 目錄下:

[root@RicenOS unix]# cp jsvc ../../

編寫服務腳本,把這個腳本放到 /etc/rc.d/init.d 目錄下:

[root@RicenOS unix]# vi /etc/rc.d/init.d/tomcat

內容參考如下:

#!/bin/sh

# chkconfig: 35 46 49

# description: Apache tomcat6

DESC="Apache tomcat6"

JAVA_HOME="/opt/java"

CATALINA_HOME="/opt/tomcat"

JAVA_OPTS="-server -XX:PermSize=128M -XX:MaxPermSize=512M -Xms1024M -Xmx1024M -XX:+HeapDumpOnOutOfMemoryError"

SERVICE_START_WAIT_TIME=10

CATALINA_PID="$CATALINA_HOME/logs/catalina.pid"

CATALINA_OUT="$CATALINA_HOME/logs/catalina.out"

CLASSPATH="$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/bin/tomcat-juli.jar:$CATALINA_HOME/bin/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar"

LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_HOME/conf/logging.properties"

LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"

CATALINA_TMPDIR="$CATALINA_HOME/temp"

JSVC="$CATALINA_HOME/bin/jsvc"

CATALINA_MAIN=org.apache.catalina.startup.Bootstrap

RETVAL=0

echo_success() {

echo -en "\\033[60G\033[32m"

echo -n "[ "

echo -n $"OK"

echo -n " ]"

echo -ne "\033[0m\n"

RETVAL=0

}

echo_failure() {

echo -en "\\033[60G\033[31m"

echo -n "[ "

echo -n $"FAILED"

echo -n " ]"

echo -ne "\033[0m\n"

RETVAL=1

}

start(){

echo -n "Starting $DESC ..."

"$JSVC" \

-java-home "$JAVA_HOME" \

-pidfile "$CATALINA_PID" \

-wait "$SERVICE_START_WAIT_TIME" \

-outfile "$CATALINA_OUT" \

-errfile "&1" \

-classpath "$CLASSPATH" \

"$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS \

-Dcatalina.home="$CATALINA_HOME" \

-Dcatalina.base="$CATALINA_HOME" \

-Djava.io.tmpdir="$CATALINA_TMPDIR" \

-Duser.timezone=GMT+08 \

$CATALINA_MAIN

sleep 3

RETVAL=$?

if [ "$RETVAL" -eq 0 ]; then

echo_success

else

echo_failure

fi

return $RETVAL

}

stop(){

echo -n "Stopping $DESC ..."

"$JSVC" \

-stop \

-pidfile "$CATALINA_PID" \

-classpath "$CLASSPATH" \

-Dcatalina.home="$CATALINA_HOME" \

-Dcatalina.base="$CATALINA_HOME" \

-Djava.io.tmpdir="$CATALINA_TMPDIR" \

$CATALINA_MAIN

RETVAL=$?

if [ "$RETVAL" -eq 0 ]; then

echo_success

else

echo_failure

fi

return $RETVAL

}

repair(){

PIDLIST=`ps -ef | grep "$CATALINA_HOME" | grep -v "grep" | awk '{print $2}'`

if [ -n "$PIDLIST" ]; then

for PID in $PIDLIST

do

kill -9 $PID

echo "Kill $DESC PID:$PID"

done

echo -n "$DESC repair success."

echo_success

else

echo "No $DESC PID alive."

fi

}

status(){

PIDLIST=`ps -ef | grep "$CATALINA_HOME" | grep -v "grep" | awk '{print $2}'`

if [ -n "$PIDLIST" ]; then

echo "$DESC is running."

else

echo "$DESC is not running."

fi

}

case "$1" in

start)

start

;;

stop)

stop

;;

repair)

repair

;;

status)

status

RETVAL=0

;;

*)

echo "Usage: $0 {start | stop | repair | status}"

RETVAL=1

;;

esac

exit $RETVAL

改變文件權限:

[root@RicenOS unix]# chmod +x /etc/rc.d/init.d/tomcat

配置系統啟動:

[root@RicenOS unix]# chkconfig --level 35 tomcat on

修改 tomcat/conf 目錄下的 server.xml 文件:

[root@RicenOS unix]# vi ../../../conf/server.xml

主要修改以下這段:

maxThreads="1000" minSpareThreads="100" maxSpareThreads="5000"

minProcessors="50" maxProcessors="500" enableLookups="false"

redirectPort="8443" acceptCount="1000" connectionTimeout="40000"

disableUploadTimeout="true" URIEncoding="utf-8" />

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/2/173770.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息