このスレッドは解決済です(未解決に戻す場合はこちら)
<<戻る

Tomcat7の起動について このメッセージに返信する
日時: 2011/04/09 13:29
名前: よっしー
URL: https://takao-y.net/~takao/fsiki/wiki.cgi
こんにちは、お世話になります。

掲題の件、下記サイトのNo.5の内容を参考にapache-tomcat-7.0.11.tar.gz
をインストールして起動を行おうとしているのですが、起動すると一応
OKの表示は出るのですが、デーモンの再起動を行うと失敗となって、
statusを確認すると、サブシステムがロックされた状態になってしまいます。

http://centossrv.com/bbshtml/webpatio/365.shtml

関連する情報を下記の通り記載致しますので、対策をご教授頂けないでしょうか。


[root@server share]# alternatives --config java

3 プログラムがあり 'java' を提供します。

選択 コマンド
-----------------------------------------------
* 1 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
2 /usr/lib/jvm/jre-1.4.2-gcj/bin/java
+ 3 /usr/java/default/bin/java

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します

[root@server share]# java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) Server VM (build 19.1-b02, mixed mode)

[root@server ~]# cat /etc/rc.d/init.d/tomcat7
#!/bin/sh
#
# chkconfig: 2345 80 15
# description: Tomcat is a JSP+Servlet Engine.

. /etc/rc.d/init.d/functions

JAVA_HOME=/usr/java/default
CATALINA_HOME=/usr/local/tomcat7
TOMCAT_USER=tomcat7
TMP_DIR=$CATALINA_HOME/temp
CATALINA_OPTS=

CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar
JSVC=$CATALINA_HOME/bin/tomcat7

pidfile=${PIDFILE-/var/run/tomcat7.pid}
lockfile=${LOCKFILE-/var/lock/subsys/tomcat7}
prog=tomcat7
RETVAL=0

start()
{
echo -n $"Starting $prog: "

$JSVC \
-pidfile ${pidfile} \
-user $TOMCAT_USER \
-home $JAVA_HOME \
-Dcatalina.home=$CATALINA_HOME \
-Djava.io.tmpdir=$TMP_DIR \
-outfile $CATALINA_HOME/logs/catalina.out \
-errfile '&1' \
$CATALINA_OPTS \
-cp $CLASSPATH \
org.apache.catalina.startup.Bootstrap

RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo_success
touch ${lockfile}
else
echo_failure
fi
echo

return $RETVAL
}

stop()
{
echo -n $"Stopping $prog: "

$JSVC \
-stop \
-pidfile ${pidfile} \
org.apache.catalina.startup.Bootstrap

RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo_success
rm -f ${pidfile} ${lockfile}
else
echo_failure
fi
echo

return $RETVAL
}

case "$1" in
start)
start
;;

stop)
stop
;;

restart)
stop
start
;;

status)
status $JSVC
RETVAL=$?
;;

*)
echo $"Usage $0 {start|stop|restart|status}"
exit 1
esac

exit $RETVAL

[root@server ~]# ls -ll /usr/local/tomcat7/bin
合計 740
-rw-r--r-- 1 tomcat7 tomcat7 27084 3月 10 20:14 bootstrap.jar
-rw-r--r-- 1 tomcat7 tomcat7 2495 3月 10 20:15 catalina-tasks.xml
-rw-r--r-- 1 tomcat7 tomcat7 12246 3月 10 20:14 catalina.bat
-rwxr-xr-x 1 tomcat7 tomcat7 18317 3月 10 20:14 catalina.sh
-rw-r--r-- 1 tomcat7 tomcat7 199453 3月 10 20:14 commons-daemon-native.tar.gz
-rw-r--r-- 1 tomcat7 tomcat7 23546 3月 10 20:14 commons-daemon.jar
-rwxr-xr-x 1 tomcat7 tomcat7 1930 3月 10 20:14 configtest.sh
-rw-r--r-- 1 tomcat7 tomcat7 1342 3月 10 20:14 cpappend.bat
-rw-r--r-- 1 tomcat7 tomcat7 2111 3月 10 20:14 digest.bat
-rwxr-xr-x 1 tomcat7 tomcat7 1624 3月 10 20:14 digest.sh
-rwxr-xr-x 1 tomcat7 tomcat7 110801 4月 9 11:04 jsvc
-rw-r--r-- 1 tomcat7 tomcat7 3300 3月 10 20:14 setclasspath.bat
-rwxr-xr-x 1 tomcat7 tomcat7 3991 3月 10 20:14 setclasspath.sh
-rw-r--r-- 1 tomcat7 tomcat7 2111 3月 10 20:14 shutdown.bat
-rwxr-xr-x 1 tomcat7 tomcat7 1563 3月 10 20:14 shutdown.sh
-rw-r--r-- 1 tomcat7 tomcat7 2112 3月 10 20:14 startup.bat
-rwxr-xr-x 1 tomcat7 tomcat7 1956 3月 10 20:14 startup.sh
-rw-r--r-- 1 tomcat7 tomcat7 34120 3月 10 20:14 tomcat-juli.jar
-rw-r--r-- 1 tomcat7 tomcat7 241274 3月 10 20:14 tomcat-native.tar.gz
lrwxrwxrwx 1 tomcat7 tomcat7 4 4月 6 17:56 tomcat7 -> jsvc
-rw-r--r-- 1 tomcat7 tomcat7 3636 3月 10 20:14 tool-wrapper.bat
-rwxr-xr-x 1 tomcat7 tomcat7 4666 3月 10 20:14 tool-wrapper.sh
-rw-r--r-- 1 tomcat7 tomcat7 2116 3月 10 20:14 version.bat
-rwxr-xr-x 1 tomcat7 tomcat7 1567 3月 10 20:14 version.sh

[root@server ~]# ls -ll /usr/local
合計 84
drwxr-xr-x 4 root root 4096 3月 6 22:36 bin
drwxr-xr-x 2 root root 4096 1月 27 2010 etc
drwxr-xr-x 2 root root 4096 1月 27 2010 games
drwxr-xr-x 3 root root 4096 3月 6 20:00 include
drwxr-xr-x 2 root root 4096 3月 6 20:09 lib
drwxr-xr-x 2 root root 4096 1月 27 2010 libexec
drwxr-xr-x 6 root root 4096 2月 20 23:49 man
drwxr-xr-x 2 root root 4096 1月 27 2010 sbin
drwxr-xr-x 6 root root 4096 3月 19 12:47 share
drwxr-xr-x 2 root root 4096 1月 27 2010 src
drwxr-xr-x 9 tomcat7 tomcat7 4096 4月 6 17:50 tomcat7
drwxr-xr-x 7 root root 4096 2月 19 11:25 tripwire

宜しくお願い致します。

以上
記事編集 編集
Re: Tomcat7の起動について このメッセージに返信する
日時: 2011/04/09 14:52
名前: よっしー
URL: https://takao-y.net/~takao/fsiki/wiki.cgi
こんにちは、お世話になります。

上記の件、切り分けの為に/use/local/tomcat7/bin/startup.shと/usr/local/tomcat7/bin/shutdown.shのスクリプトを直接実行したところ、これらのスクリプトを用いたところでは正常にTomcat7の起動と停止が出来ました。由って、Tomcat7の設定自体には間違いは無いようです。

取り敢えずこの状態で暫定回避策として起動スクリプトを下記の通り変更してみました。

[root@server ~]# cat /etc/rc.d/init.d/tomcat7
#!/bin/sh
#
# chkconfig: 2345 80 15
# description: Tomcat is a JSP+Servlet Engine.

. /etc/rc.d/init.d/functions

JAVA_HOME=/usr/java/default
CATALINA_HOME=/usr/local/tomcat7
TOMCAT_USER=tomcat7
TMP_DIR=$CATALINA_HOME/temp
CATALINA_OPTS=

CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar
JSVC=$CATALINA_HOME/bin/tomcat7

pidfile=${PIDFILE-/var/run/tomcat7.pid}
lockfile=${LOCKFILE-/var/lock/subsys/tomcat7}
prog=tomcat7
RETVAL=0

start(){
if [ -z $(/sbin/pidof java) ]; then
echo "Starting tomcat"
/usr/local/tomcat7/bin/startup.sh
touch /var/lock/subsys/tomcat7
else
echo "tomcat7 is already running"
fi
}

stop(){
if [ ! -z $(/sbin/pidof java) ]; then
echo "Shutting down tomcat"
/usr/local/tomcat7/bin/shutdown.sh
until [ -z $(/sbin/pidof java) ]; do :; done
rm -f /var/lock/subsys/tomcat7
else
echo "tomcat7 is not running"
fi
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
/usr/local/tomcat7/bin/catalina.sh version
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
esac

exit 0

もっとスマートな方法、とりわけ従来のようにjsvcを使用した
スクリプトを正常に起動させる方法をご存知の方が
いらっしゃいましたら、引き続きご教授を宜しくお願い致します。

宜しくお願い致します。

以上
記事編集 編集
Re: Tomcat7の起動について このメッセージに返信する
日時: 2011/04/23 16:24
名前: よっしー
URL: https://takao-y.net/~takao/fswiki/wiki.cgi
こんにちは、お世話になります。

上記の件、あれからhttp://www.nabium.jp/wiki/%E6%8A%80%E8%A1%93%E3%83%A1%E3%83%A2/centos5/tomcat7のサイトを参考に下記手順を行って解決しました。

1.上記サイトの手順3と4を実行する。尚、jsvcスクリプトはCATALINA_HOME/bin配下にコピー。
また、Tomcat7.shファイルの下記の部分を次のとおり変更して保存。

test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat



test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat7


2.vi /etc/init.d/tomcat7で起動スクリプトを下記のように作成する。

#!/bin/bash
#
# tomcat Startup script for the Apache Tomcat Server
#
# chkconfig: - 84 16
# description: Apache is a World Wide Web server. It is used to serve \
# HTML files and CGI.
# processname: httpd
# config: /usr/local/tomcat7/conf/server.xml
# pidfile: /var/run/tomcat7.pid

# Source function library.
. /etc/rc.d/init.d/functions

export JAVA_HOME=/usr/java/default

# Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server
# with the thread-based "worker" MPM; BE WARNED that some modules may not
# work correctly with a thread-based MPM; notably PHP will refuse to start.

# Path to the apachectl script, server binary, and short-form for messages.
tomcat=/usr/local/tomcat7/bin/Tomcat7.sh
prog=tomcat7
pidfile=/usr/local/tomcat7/logs/catalina-daemon.pid
lockfile=${LOCKFILE-/var/lock/subsys/tomcat7}
RETVAL=0

# The semantics of these two functions differ from the way apachectl does
# things -- attempting to start while running is a failure, and shutdown
# when not running is also a failure. So we just do it the way init scripts
# are expected to behave here.
start() {
echo -n $"Starting $prog: "
$tomcat start
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch ${lockfile}
return $RETVAL
}

# When stopping httpd a delay of >10 second is required before SIGKILLing the
# httpd parent; this gives enough time for the httpd parent to SIGKILL any
# errant children.
stop() {
echo -n $"Stopping $prog: "
$tomcat stop
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status -p ${pidfile} $prog
RETVAL=$?
;;
restart)
stop
start
;;
condrestart)
if [ -f ${pidfile} ] ; then
stop
start
fi
;;
reload)
reload
;;
*)
echo $"Usage: $prog {start|stop|restart|condrestart|status}"
exit 1
esac

exit $RETVAL


3.上記スクリプトに実行権限を付与。


以上です。上記でjsvcを使用した状態で起動スクリプトを使用してTomcat 7をデーモン
起動化出来るようになりました。

宜しくお願い致します。

以上
記事編集 編集
件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -