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

一、 软件 java

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

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

二、 安装 浏览器

a)         解压 tomcat

# tar zxvf apache-tomcat-7.0.27.zip


b)        移动到其余目录 spa

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


c)         启动Tomcat服务 unix

# cd /home/tomcat/tomcat/bin # ./startup.sh

d)        检查是否启动成功 rest

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

会出现Tomcat的欢迎页面 ip

注:若是想远程经过浏览器访问,则在远程浏览器中输入http://<ip>:8080/

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

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


e)         中止服务

# ./shutdown.sh


三、 可能出现的问题

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
相关文章
相关标签/搜索