- ベストアンサー
solaris8でtomcatの自動起動
solaris8でのtomcatの自動起動を考えています。 そこで/etc/init.dにrcスクリプトを置こうと思っているのですが 中身をどのように書いたらいいかわかりません。 apacheやqmailのスクリプトを参考にしてみても どうもうまくいきません。 特に環境変数の設定をどうすればいいのか・・・。 どなたかsolaris8でのtomcatの自動起動に 成功されている方、アドバイスを頂けないでしょうか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じでどうでしょうか? パスは環境に合わせて変えてください。 #!/bin/sh JAVA_HOME=/usr/local/j2sdk1.4.1 CATALINA_HOME=/usr/local/jakarta-tomcat-4.1.7 PATH=$PATH:$JAVA_HOME/bin export JAVA_HOME CATALINA_HOME PATH case $1 in 'start') if [ -f $CATALINA_HOME/bin/startup.sh ]; then echo "Starting the tomcat service." su - -c "$CATALINA_HOME/bin/startup.sh" fi ;; 'stop') echo "Stopping the tomcat service." su - -c "$CATALINA_HOME/bin/shutdown.sh" ;; *) echo "Usage: $0 {start|stop}" ;; esac
その他の回答 (2)
- s2t
- ベストアンサー率79% (47/59)
確認したいのですが、tomcatのサービスはapacheよりも若い番号でしょうか? tomcatはapacheよりも先に起動するようにしてください。 例)K15httpd S85httpd の場合 ln -s /etc/init.d/tomcat /etc/rc0.d/K15tomcat ln -s /etc/init.d/tomcat /etc/rcS.d/K15tomcat ln -s /etc/init.d/tomcat /etc/rc1.d/K15tomcat ln -s /etc/init.d/tomcat /etc/rc2.d/S80tomcat ln -s /etc/init.d/tomcat /etc/rc3.d/S80tomcat ln -s /etc/init.d/tomcat /etc/rc5.d/K15tomcat ln -s /etc/init.d/tomcat /etc/rc6.d/K15tomcat
- s2t
- ベストアンサー率79% (47/59)
補足ですが、JAVA_HOMEが指定されていないと失敗するので、必ず指定するようにしてください。
お礼
ありがとうございます! 教えていただいたスクリプトを参考に して、自動起動の設定に挑戦してみます。 ところで自動起動の時は tomcatのユーザーに代わったり、 CLASSPATHの設定などは行わなくても 良いのでしょうか・・・? アドバイス、ありがとうございました。
補足
教えていただいたスクリプトを、環境変数などを自分の環境に合わせて /etc/init.d下にtomcatという名前で保存し、 chmod 744 tomcat ln -s /etc/init.d/tomcat /etc/rc2.d/S88tomcat のように設定し、再起動をかけたところ 自動起動に失敗しました・・・。 /etc/init.d下で ./tomcat start のように実行をかけると、tomcatはちゃんと起動します。 何か見落としている点があるのでしょうか・・・? 何かお気づきの点がありましたら、何でもいいのでアドバイスをお願いします。 よろしくお願いします。
お礼
apachよりも先、ですね! そういえば自分ではapacheを起動していませんでしたが 確かにブート時に上がってます、apache! つまり起動順序の問題だったんですね。早速試してみます! また自分でも所有権などがちょっと不安なので その辺も確認しながら挑戦してみます。 どうもありがとうございました。
補足
tomcatの自動起動に成功しました。 最終的には スクリプトの中身: su - -c ~~~ の部分を su tomcat -c ~~~ に変更し、 rc2.dの起動順序をS16tomcatに変更、 rc3.dのapacheの起動スクリプトを削除、 という形で成功しました。 s2tさんには何度も適切なアドバイスを頂き、本当にありがとうございました。