linuxにtomcat8環境を構築

JRE or JDKのインストールは済んでいる前提

最終的に、以下を行いたい
1.start,stop,restartとstdoutのlogのコマンド
2.サーバ起動時にtomcat自動起動
3.warファイルデプロイディレクトリの確認
4.ライブラリ配置ディレクトリの確認


0.準備(インストール)
ユーザ追加

# useradd -s /sbin/nologin tomcat

ダウンロード(バージョンは8.0.30)

# wget http://ftp.jaist.ac.jp/pub/apache/tomcat/tomcat-8/v8.0.30/bin/apache-tomcat-8.0.30.tar.gz

解凍・ディレクトリ移動

# tar -xzvf ~/apache-tomcat-8.0.30.tar.gz
# mkdir /opt/apache-tomcat-8.0.30
# mv ~/apache-tomcat-8.0.30 /opt/apache-tomcat-8.0.30
# chown -R tomcat:tomcat /opt/apache-tomcat-8.0.30

パス追加

# CATALINA_HOME=/usr/local/tomcat
# export CATALINA_HOME

起動・停止のテスト
この前に、opt内にapache-tomcatというリンクをapache-tomcat-8.0.30に貼っておくと便利
起動

# sudo -u tomcat /opt/apache-tomcat/bin/startup.sh

停止

# sudo -u tomcat /opt/apache-tomcat/bin/shutdown.sh

1.サーバ起動時にtomcat自動起動
以下のスクリプトを/etc/init.d/tomcatで作成

#!/bin/bash
#
# Startup script for the Tomcat Servlet Container
#
# chkconfig: 2345 35 65
# description: Tomcat is the servlet container that is used in the official \
#              Reference Implementation for the Java Servlet and JavaServer \
#              Pages technologies

TOMCAT_USER=tomcat
CATALINA_HOME=/usr/local/tomcat

. /etc/rc.d/init.d/functions
prog=tomcat

start() {
    echo -n $"Starting $prog: "
    daemon --user $TOMCAT_USER $CATALINA_HOME/bin/startup.sh > /dev/null
    RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
        echo_success
    else
        echo_failure
    fi
    echo
    [ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
    return $RETVAL
}
stop() {
    echo -n $"Stopping $prog: "
    daemon --user $TOMCAT_USER $CATALINA_HOME/bin/shutdown.sh > /dev/null
    RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
        echo_success
    else
        echo_failure
    fi
    echo
    [ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog
    return $RETVAL
}

# See how we were called.
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  status)
    INSTANCES=`ps --columns 512 -aef|grep java|grep tomcat|grep org.apache.catalina.startup.Bootstrap|wc -l`
    if [ $INSTANCES -eq 0 ]; then
        echo $prog is stopped
        RETVAL=3
    else
        if [ $INSTANCES -eq 1 ]; then
            echo $prog is running 1 instance...
        else
            echo $prog is running $INSTANCES instances...
        fi
        RETVAL=0
    fi
    ;;
  *)
    echo $"Usage: $prog {start|stop|restart|status|help}"
    exit 1
esac

exit $RETVAL

実行権限追加

# chmod +X /etc/init.d/tomcat

起動時に、実行されるよう設定

# /sbin/chkconfig --add tomcat

2.start,stop,restartとstdoutのlogのコマンド
/etc/init.d/にスクリプトを登録したので、起動などはそちらを実行すればよい

起動

# service tomcat start

停止

# service tomcat stop

再起動

# service tomcat restart

ログはデフォルトの設定でlogs内に標準出力が出力されるようになっているのでそちらを利用する

# tailf /opt/apache-tomcat/logs/catalina.out

3.warファイルデプロイディレクトリの確認
4.ライブラリ配置ディレクトリの確認

それぞれ以下、

デプロイ
$CATALINA_HOME/webapps
ライブラリ
$CATALINA_HOME/lib

再起動の必要有無は未確認


参考:

http://homepage1.nifty.com/y-osumi/works/code/tomcat7/
http://weblabo.oscasierra.net/installing-tomcat7-on-redhat/