自動起動の設定

最後にOSの立ち上げ時にTomcatを自動起動して、OSを終了する際にはTomcatも自動的に終了させる(サービス/デーモンとして実行する)方法について紹介します。

圧縮ファイルを解凍してインストールした場合

圧縮ファイルを解凍した場合、jsvcツールを用いてサービス起動用スクリプトを作成します。Tomcatのbinディレクトリに移動します。



# cd /$CATALINA_HOME/tomcat5/bin

binディレクトリ内にある「jsvc-src.tar.gz」を展開します。



# tar xzvf ./jsvc-src.tar.gz

展開してできたjsvc-srcディレクトリに移動します。



# cd /jsvc-src/

configureファイルに実行権限を与えます。



# chmod a+x ./configure

configureコマンドをjavaを指定するオプション付きで実行した後、コンパイルします。環境変数JAVA_HOMEが有効になっている場合はこのオプションは必要ありません。



# ./configure -with-java=/usr/java/jre1.5.0_11
# make

コンパイルしてできたjsvcというファイルをTomcatのbinディレクトリに移動します。「$CATALINA_HOME/bin/jsvc-src/native/Tomcat5.sh」を基に自動起動用のスクリプトを作成します。



cp jsvc ..

主な編集箇所を以下に青色で示します。



#!/bin/sh

# chkconfig: 2345 80 15 ←追加
# description: Tomcat5 ←追加


<〜中略〜>


JAVA_HOME=/usr/java/jre1.5.0_12/ ←Javaを指定
CATALINA_HOME=/home/User/tomcat/ ←Tomcatインストール場所
DAEMON_HOME=$CATALINA_HOME ←変更
TOMCAT_USER=TomcatUser ←Tomcatの実行ユーザを指定


# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/jsvc.pid

CATALINA_BASE=$CATALINA_HOME ←変更


<〜中略〜>

case "$1" in
  start)
 #
 # Start Tomcat
 #

 $DAEMON_HOME/bin/jsvc \ ←jsvcのパスを指定


<〜中略〜>

  stop)
 #
 # Stop Tomcat
 #

 $DAEMON_HOME/bin/jsvc \ ←jsvcのパスを指定


<〜以下省略〜>

Tomcat5.shの編集が終わったら「$CATALINA_HOME/bin/jsvc-src/native/Tomcat5.sh start」および「stop」コマンドでTomcatが起動/終了するか確認してみましょう。問題ないようなら起動スクリプトを「/etc /init.d/」にコピーします。

コピーを行うには、まずrootユーザになります。



# su -

Tomcat5.shをtomcat5という名前で/etc/init.dディレクトリにコピーします。



# cp $CATALINA_HOME/bin/jsvc-src/native/Tomcat5.sh /etc/init.d/tomcat5

tomcat5スクリプトをサービスに加え、有効にします。



# chkconfig -add tomcat5
# chkconfig tomcat5 on

Tomcatサービスの状態を確認します。サービスの状態で、2,3,4,5がonになっていれば自動起動設定は完了です。



# chkconfig -list tomcat
# tomcat5         0:off   1:off   2:on    3:on    4:on    5:on    6:off

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30