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

# tar zxvf apache-tomcat-7.0.27.zip

b)移动到其他目录

# mv apache-tomcat-7.0.27 /home/tomcat/tomcat

c) 启动Tomcat服务

# cd /home/tomcat/tomcat/bin

# ./startup.sh

d)检查是否启动成功

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

会出现Tomcat的欢迎页面

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

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

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

e)停止服务

# ./shutdown.sh

3、 可能出现的问题

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

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

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

a) 编译安装jsvc

# export CATALINA_HOME=/home/tomcat/tomcat

# cd $CATALINA_HOME/bin

# tar xvfz commons-daemon-native.tar.gz

# cd commons-daemon-1.0.8-native-src/unix

# ./configure

# make

# cp jsvc ../..

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

# vi /etc/init.d/tomcat7

添加如下脚本:

#! /bin/sh

# chkconfig: 35 96 04

# description: Apache-Tomcat service script.

# Version:

#        2008-01-17-01

# By:

#        Typhoon.Free.Wolf.

# Service name.

SVC_NAME="tomcat7"

# Lock file.

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

# Installation prefix.

APP_HOME="/home/tomcat/tomcat"

# The process name to monitor.

APP_PROC="java"

# Authorize user.

APP_USER="tomcat"

SLEEP_START=5

SLEEP_STOP=$SLEEP_START

# Importing functions.

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_ON means process is there.

#        FLG_PROC_OFF means process not exists.

#        Other means error.

FLG_PROC_ON=1

FLG_PROC_OFF=0

probe() {

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

for rst in $srch_rst ; do

if [ $APP_PROC = $rst ] ; then

return $FLG_PROC_ON

fi

done

return $FLG_PROC_OFF

}

# Templete.

#        Shows OK.

# Return:

echo_ok() {

case $flg_func in

1)

echo_success

echo ""

;;

*)

echo ""

echo "        [  OK  ]"

;;

esac

}

# Templete.

#        Shows Passed.

# Return:

echo_pass() {

case $flg_func in

1)

echo_passed

echo ""

;;

*)

echo ""

echo "        [PASSED]"

;;

esac

}

# Templete.

#        Shows Failed.

# Return:

echo_bad() {

case $flg_func in

1)

echo_failure

echo ""

;;

*)

echo ""

echo "        [FAILED]"

;;

esac

}

# Templete.

#        Start section.

# 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.

#        Stop section.

# 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

}

# Parse command line parameters.

case $1 in

start)

start

;;

stop)

stop

;;

restart)

stop

start

;;

*)

# Print help

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

exit 1

;;

esac

exit 0

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

c)        设置tomcat自启动服务

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

# chmod +x tomcat7

将tomcat添加到启动服务中

# chkconfig --add tomcat7

# chkconfig --level 234 tomcat7 on

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

# chkconfig --list tomcat7

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

# service tomcat7 start

# service tomcat7 stop

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

更多Tomcat相关教程见以下内容

CentOS 6.6下安装配置Tomcat环境 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/eb44d35b4b527f26995877ac89f02689.html