CenOS系統中安裝Tomcat7并設置為自啟動服務

bphe3184 8年前發布 | 36K 次閱讀 Tomcat 應用服務器

來自: http://www.cnblogs.com/gao241/archive/2012/09/17/2688308.html


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)         解壓

# tar zxvf apache-tomcat-7.0.27.zip


</b>

b)        移動到其他目錄

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


</b>

c)         啟動Tomcat服務

# cd /home/tomcat/tomcat/bin

./startup.sh</pre>

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

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


b)        編寫自啟動腳本:用root用戶登錄,創建腳本tomcat7</b>

# vi /etc/init.d/tomcat7


</b>

添加如下腳本:

#! /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</pre>


</b>

注意修改APP_HOME為tomcat實際安裝路徑,APP_USER為啟動tomcat的用戶。

c)         設置tomcat自啟動服務

使用如下命令給tomcat7增加執行權限

# chmod +x tomcat7


</b>

將tomcat添加到啟動服務中

 # chkconfig --add tomcat7

chkconfig --level 234 tomcat7 on</pre>


</b>

可以用如下命令確認是否配置成功

chkconfig --list tomcat7


</b>

之后就可以用service來控制tomcat的啟動和停止了。

# service tomcat7 start

service tomcat7 stop</pre>


查看/home/tomcat/tomcat/logs/catalina-daemon.out,確認沒有error</b>




 本文由用戶 bphe3184 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!