Top > Tomcat

関連ページ:Java/Servlet

Tips Edit

AntでTomcatを操作する Edit

コンテキストのリロードなどができる。
http://www.stackasterisk.jp/tech/java/ant05_01.jsp

コンテキストを手動リロードする Edit

コンテキストをリロードするには

  • Eclipseでは
    パッケージエクスプローラで右クリック→Tomcatプロジェクト→このコンテキストを再ロード
  • ブラウザでは

    にアクセスする。

インストール Edit

Linuxへのインストール Edit

アーカイブをダウンロードしてきて、インストールしたい場所に展開する。
そして環境変数 CATALINA_HOME をそのディレクトリに設定するだけ。

OS 起動時に Tomcat も自動的に起動するようにするには、次を /etc/init.d/tomcat として保存し、

chkconfig --add tomcat

を実行する。
/etc/init.d/tomcat

# This is the init script for starting up the
#  Jakarta Tomcat server
#
# chkconfig: 345 80 20
# description: Starts and stops the Tomcat daemon.
#

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

# Get config.
. /etc/sysconfig/network

# Check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 0

# 環境によってここを書きかえること!
export JAVA_HOME=/usr/local/jdk1.6.0_01
tomcat=/usr/local/apache-tomcat-6.0.13
startup=$tomcat/bin/startup.sh
shutdown=$tomcat/bin/shutdown.sh

start(){
  echo -n $"Starting Tomcat service: "
  #daemon -c
  $startup
  RETVAL=$?
  echo 
}

stop() {
  action $"Stopping Tomcat service: " $shutdown
  RETVAL=$?
  echo
}

restart() {
   stop
   start
}

status() {
  numproc=`ps -ef | grep "[o]rg.apache.catalina.startup.Bootstrap start" | wc -l`
  if [ $numproc -gt 0 ]; then
    echo "Tomcat is running..."
  else
    echo "Tomcat is stopped..."
  fi
}


# See how we were called.
case "$1" in
start)
  start
  ;;
stop)
  stop
  ;;
status)
  status
  ;;
restart)
  restart
  ;;
*)
  echo $"Usage: $0 {start|stop|status|restart}"
  exit 1
esac

exit 0

Apache と連携させる場合は Apache よりも前に Tomcat を起動しないといけないらしい。
そのためには「chkconfig:」の行の2番目の数字(80)を Apache よりも小さく、3番目の数字(20)を Apache よりも大きくすること。

apache2とtomcatの連携 Edit

昔は jk とか jk2 を使ったようだが、2007-07-05現在は mod_proxy_ajp を使うのがよいらしい。

まずは mod_proxy_ajp.so が apache の modules ディレクトリ以下にあるかどうか確認。
なければインストール。
Vine 4.1 の完全インストールでは始めから入っていたので何もインストールする必要なし。

httpd.conf に以下を記述。

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

<Location /tomcat/>
ProxyPass ajp://localhost:8009/
</Location>

すると http://HOSTNAME/ は apache 管理下、http://HOSTNAME/tomcat/ は Tomcat管理下になる。

設定 Edit

tomcat-users.xml Edit

tomcat-users.xmlのサンプル

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="manager"/>
  <role rolename="tomcat"/>
  <role rolename="admin"/>
  <role rolename="role1"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="admin" password="manager" roles="admin,manager"/>
</tomcat-users>

Tips:
EclipseのSysdeo Tomcat Pluginの設定の中で「tomcat-users.xmlにユーザーを追加」ボタンを押すとadminとrole1ユーザーを追加してくれる。

デバッグ中はオートリロードをオフにした方がいい Edit

Tomcatでは、Webアプリケーションのファイルの変更を10数秒おきにチェックし、変更があれば、Webアプリケーションを再ロードする機能があります。この機能は「オートリロード」と呼ばれています。オートリロードは便利な機能なのですが、デバッグ中にリロードされると動作が不安定になる場合があり、また明示的なリロードの方が素早く行えますので、この機能をソースデバッグと併用するのはお勧めできません。
http://www.thinkit.co.jp/cert/tech/3/6/2.htm



URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes