- PR -

tomcatの自動起動

投稿者投稿内容
素人SE
会議室デビュー日: 2006/08/16
投稿数: 5
投稿日時: 2006-08-16 15:49
初めまして素人SEと申します。
RedHatESでtomcatを自動起動しようとして下記のような手順で作業しましたが
「tomcat: execvp: No such file or directory」で自動起動しませんでした。
いろいろ調べましたが、解決せず困っています。
同じことをcentOSで試したところ正常に動作しました。

何か良いアドバイスがあればお願いします。

作業手順
1.Tomcat起動スクリプト作成
# vi /etc/rc.d/init.d/tomcat

---------------------------------<ここから>--------------------
#!/bin/sh
#
# Startup script for the tomcat
#
# chkconfig: 345 80 15
# description: Tomcat is a Servlet+JSP Engine.

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

export JAVA_HOME=/usr/java/j2sdk1.4.2_04
export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:$JAVA_HOME/bin

case "$1" in
'start')
if [ -f /usr/local/tomcat/bin/startup.sh ]; then
echo "Starting the tomcat service "
"/usr/local/tomcat/bin/startup.sh"
fi
;;
'stop')
echo "Stopping the tomcat service."
"/usr/local/tomcat/bin/shutdown.sh"
;;
'restart')
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
;;
esac
exit 0

-----------------------------<ここまで>----------------------------

2.Tomcat起動スクリプトに実行権限付加

# chmod +x /etc/rc.d/init.d/tomcat

3.chkconfigへTomcat起動スクリプト追加

# chkconfig --add tomcat

4.Tomcat自動起動設定
# chkconfig tomcat on

自動起動確認

# chkconfig --list tomcat
tomcat 0:オフ 1:オフ 2:オン 3:オン 4:オン 5:オン 6:オフ


_________________
Java僧
ぬし
会議室デビュー日: 2003/11/06
投稿数: 261
投稿日時: 2006-08-16 19:27
CentOSの環境とRedHatESの環境で何か違うところはありませんか?
例)
- Tomcat/JDKのインストール先
- インストールされたファイルの所有者・アクセス権

/usr/local/tomcat/bin/startup.sh は単体では正しく動作しますか?
素人SE
会議室デビュー日: 2006/08/16
投稿数: 5
投稿日時: 2006-08-16 21:11
素人SEです
Java僧さま ありがとうございます

実は、RedHatはお客様の環境で、centOSはこちらの環境です
テストをするために可能な限り、同じような環境にしています。

現状は、RedHatの環境は
/usr/local/tomcat/bin/startup.sh
で起動しています。

他に何か調べると事は無いでしょうか

よろしくお願いします
_________________
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2006-08-17 00:00
sh -xv /etc/rc.d/init.d/tomcat
でシェルスクリプトの実行内容を見てみるといいかと思います。
シンボリックリンクが作られていないとかが原因なのではと思
うのですが。
未記入
会議室デビュー日: 2006/05/07
投稿数: 18
投稿日時: 2006-08-17 00:13
最近の RedHat 系のディストリビューションはカスタムインストールを選択して

Java 開発環境のチェックを外さないと gcc の java がインストールされてしまって

環境変数などを設定してもそちらの java が使用されてしまうことがあります。

RedHatES の環境で java -version を実行したときに

/etc/rc.d/init.d/tomcat で設定した java が使用されているか

確認してみてください。
素人SE
会議室デビュー日: 2006/08/16
投稿数: 5
投稿日時: 2006-08-17 10:29
素人SEです

小僧様、未記入さま、ご返答、ありがとうございます。

>sh -xv /etc/rc.d/init.d/tomcat
上記を実行して、どのようなエラーが帰ってくればシンボリックリンクが
作られてないと判断できるのでしょうか。

>RedHatES の環境で java -version を実行したときに
>/etc/rc.d/init.d/tomcat で設定した java が使用されているか
今まで、1年以上システムが稼働しているのでそれはないと思いますが
調べてみます。

皆様、いろいろありがとうございます。
これからも、よろしくお願いします。
_________________
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2006-08-17 11:22
引用:

>sh -xv /etc/rc.d/init.d/tomcat
上記を実行して、どのようなエラーが帰ってくればシンボリックリンクが
作られてないと判断できるのでしょうか。


ファイルまたはディレクトリが見つからないとメッセージが出ているので、
リンクの張り方が違っているとかではないかという、素直な考えです。

sh -xvで出力された内容を全て貼り付けていただくとかしないと、起動
スクリプトのどこで問題が出ているか分からないです。回答者にスクリ
プトなどをあまり読ませない方が、答える気になりやすいです。

SEと名乗るのでしたら、できるだけ相手に的確な状況判断ができるだけ
の情報を提供するようにしましょう。

素人SE
会議室デビュー日: 2006/08/16
投稿数: 5
投稿日時: 2006-08-17 13:28
素人seです

小僧様、ご指導ありがとうございます。
以後、ご指導に近い形で質問ができるようにがんばります。

さて、結果ですが
# sh -xv /etc/rc.d/init.d/tomcat

#!/bin/sh
#
# Startup script for the tomcat
#
# chkconfig: 345 80 15
# description: Tomcat is a Servlet+JSP Engine.

+ $'\r'
/etc/rc.d/init.d/tomcat: line 7: : command not found
# Source function library.
. /etc/rc.d/init.d/functions
+ . $'/etc/rc.d/init.d/functions\r'
/etc/rc.d/init.d/tomcat: line 9: /etc/rc.d/init.d/functions: そのようなファイルやディレクトリはありません

となり、小僧様のご指摘の通りの結果となりました。
ただ、このエラーも私には理解できないのですが、
以下のようにディレクトリは存在します。

# ls -l /etc/rc.d/init.d/
:
-rwxr-xr-x 1 root root 1506 9月 26 2003 firstboot
-rwxr-xr-x 1 root root 9980 5月 22 2003 functions
-rwxr-xr-x 1 root root 1541 9月 17 2003 gpm
-rwxr-xr-x 1 root root 5146 9月 4 2003 halt
:
-rwxr-xr-x 1 root root 2647 9月 18 2003 sshd
-rwxr-xr-x 1 root root 1369 2月 8 2003 syslog
-rwxr-xr-x 1 root root 939 8月 9 17:21 tomcat
-rwxr-xr-x 1 root root 2796 8月 22 2003 tux
-rwxr-xr-x 1 root root 1787 9月 6 2003 vncserver

7行目のcommand not foundも理解に苦しんでおります。
空白行に何か制御文字でも入っているのでしょうか。

知識不足で皆様にはご迷惑かもしれませんが、よろしくお願いします。

_________________

スキルアップ/キャリアアップ(JOB@IT)