CentOS配置Tomcat以服务方式启动

85281943 2015-02-06

在CentOS系统中安装Tomcat7并设置为自启动服务。

1、软件

a)下载apache-tomcat-7.0.27地址:http://apache.etoak.com/tomcat/tomcat-7/v7.0.27/bin/apache-tomcat-7.0.27.tar.gz

b)如无特殊说明,本文档操作用户为tomcat

2、安装

a)解压

1#tarzxvfapache-tomcat-7.0.27.zip

b)移动到其他目录

#mvapache-tomcat-7.0.27/home/tomcat/tomcat

c)启动Tomcat服务

#cd/home/tomcat/tomcat/bin

#./startup.sh

d)检查是否启动成功

在本机浏览器中访问URL:http://localhost:8080/

会出现Tomcat的欢迎页面

注:如果想远程通过浏览器访问,则在远程浏览器中输入http://<ip>:8080/

<ip>可通过在本地机器上输入命令ifconfig查看

如果未能访问到tomcat的欢迎页面,需要查看本机的防火墙设置,是否打开了端口8080

e)停止服务

#./shutdown.sh

3、可能出现的问题

a)Java未先安装,或未正确配置JAVA_HOME系统环境变量

b)Linux系统的防火墙8080端口未被设置为远程可访问

4、配置tomcat由tomcat用户自启动(使用jsvc)

a)编译安装jsvc

#exportCATALINA_HOME=/home/tomcat/tomcat

#cd$CATALINA_HOME/bin

#tarxvfzcommons-daemon-native.tar.gz

#cdcommons-daemon-1.0.8-native-src/unix

#./configure

#make

#cpjsvc../..

b)编写自启动脚本:用root用户登录,创建脚本tomcat7

#vi/etc/init.d/tomcat7

添加如下脚本:

#!/bin/sh

#chkconfig:359604

#description:Apache-Tomcatservicescript.

#Version:

#2008-01-17-01

#By:

#Typhoon.Free.Wolf.

#Servicename.

SVC_name="tomcat7"

#Lockfile.

LOCK_FILE="/var/lock/subsys/tfw_tomcat"

#Installationprefix.

APP_HOME="/home/tomcat/tomcat"

#Theprocessnametomonitor.

APP_PROC="java"

#Authorizeuser.

APP_USER="tomcat"

SLEEP_START=5

SLEEP_STOP=$SLEEP_START

#Importingfunctions.

flg_func=0

if[-f/etc/init.d/functions];then

./etc/init.d/functions

flg_func=1

elif[-f/etc/rc.d/init.d/functions];then

./etc/rc.d/init.d/functions

flg_func=1

fi

#Templete.

#Return:

#FLG_PROC_ONmeansprocessisthere.

#FLG_PROC_OFFmeansprocessnotexists.

#Othermeanserror.

FLG_PROC_ON=1

FLG_PROC_OFF=0

probe(){

srch_rst=$(ps-A|grep$APP_PROC|awk'{print$4}')

forrstin$srch_rst;do

if[$APP_PROC=$rst];then

return$FLG_PROC_ON

fi

done

return$FLG_PROC_OFF

}

#Templete.

#ShowsOK.

#Return:

echo_ok(){

case$flg_funcin

1)

echo_success

echo""

;;

*)

echo""

echo"[OK]"

;;

esac

}

#Templete.

#ShowsPassed.

#Return:

echo_pass(){

case$flg_funcin

1)

echo_passed

echo""

;;

*)

echo""

echo"[PASSED]"

;;

esac

}

#Templete.

#ShowsFailed.

#Return:

echo_bad(){

case$flg_funcin

1)

echo_failure

echo""

;;

*)

echo""

echo"[FAILED]"

;;

esac

}

#Templete.

#Startsection.

#Return:

_start(){

probe

proc=$?

echo""

echo"Starting$SVC_NAME..."

if(touch$LOCK_FILE);then

echo_ok

else

echo_bad

fi

}

start(){

probe

proc=$?

echo""

echo"Starting$SVC_NAME..."

if[$FLG_PROC_OFF=$proc];then

if(su-$APP_USER-c"$APP_HOME/bin/startup.sh");then

sleep$SLEEP_START

if(touch$LOCK_FILE);then

echo_ok

else

echo_pass

echo""

fi

else

echo_bad

fi

elif[$FLG_PROC_ON=$proc];then

if(touch$LOCK_FILE);then

echo_passed

echo""

else

echo_bad

fi

fi

}

#Templete.

#Stopsection.

#Return:

_stop(){

probe

proc=$?

echo""

echo"Stopping$SVC_NAME..."

if(rm-Rf$LOCK_FILE);then

echo_ok

else

echo_bad

fi

}

stop(){

probe

proc=$?

echo""

echo"Stopping$SVC_NAME..."

if[$FLG_PROC_OFF=$proc];then

if(rm-Rf$LOCK_FILE);then

echo_passed

echo""

else

echo_bad

fi

elif[$FLG_PROC_ON=$proc];then

if(su-$APP_USER-c"$APP_HOME/bin/shutdown.sh");then

sleep$SLEEP_STOP

if(rm-Rf$LOCK_FILE);then

echo_ok

else

echo_pass

echo""

fi

else

echo_bad

fi

fi

}

#Parsecommandlineparameters.

case$1in

start)

start

;;

stop)

stop

;;

restart)

stop

start

;;

*)

#Printhelp

echo"Usage:$0{start|stop|restart}"

exit1

;;

esac

exit0

注意修改APP_HOME为tomcat实际安装路径,APP_USER为启动tomcat的用户。

c)设置tomcat自启动服务

使用如下命令给tomcat7增加执行权限

#chmod+xtomcat7

将tomcat添加到启动服务中

#chkconfig--addtomcat7

#chkconfig--level234tomcat7on

可以用如下命令确认是否配置成功

#chkconfig--listtomcat7

之后就可以用service来控制tomcat的启动和停止了。

#servicetomcat7start

#servicetomcat7stop

查看/home/tomcat/tomcat/logs/catalina-daemon.out,确认没有error

相关推荐