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
相關文章
相關標籤/搜索