TOMCATWebアプリを作成するときに必要になります。アプリケーションサーバと呼ばれるものですが、これがないとjspとかservletとか動きません。Webアプリを作るときは必須です。 サーバにTOMCATを立ち上げておいて、そこに作成したアプリケーションを配置しておくとブラウザから作成したWebアプリが動きます。 このアプリケーションサーバ はTOMCAT以外にもいろいろあります。TOMCATみたいに無償のものもあれば、 WebLogic?や、WebSphere?とか有償のものもあります。
今回インストールするTOMCATのVersionは4.1.30です。TOMCATはVersionは5もありますが、そんなにインストールするには変わらないです。 インストールではまず、ダウンロードします。 http://tomcat.apache.org/ 上記をクリックして、 Tomcat 4.1.30 KEYS を探してください。基本的にインストールは、4も5も6も一緒です。ここではWindowsでのインストールですので、Linuxの場合は下のtomcat6を参照してください。 その下に 4.1.30 exe PGP MD5 がありますので、 4.1.30.exeをクリックしてダウンロードします。 4.1.30とありますが、 バージョンが変わっているかもしれないので、http://jakarta.apache.org/site/binindex.cgiのページが表示されたら、tomcatで検索してみてください。 ダウンロードが終わりましたら、ダウンロードされたファイルをダブルクリックしてインストールを進めていきましょう。 基本的にはボタンを押して進めていけばインストールは終わります。 ここで何点か注意することがあります。
インストールが終わりましたら、環境変数を設定します。 その環境変数は、CATALINA_HOMEとCATALINA_OPTSです。linuxだとbin/setenv.shとかに設定すれば、startup.shからcatalina.shが呼ばれsetenv.shを呼んでくれます。windowsも同じ流れです。leopardでのサンプルです。 #!/bin/sh export JAVA_HOME="/Library/Java/Home" export CATALINA_HOME="/usr/local/tomcat-6.0.16" export CATALINA_OPTS="-server -Xmx128m -Xms128m" windowsでは set CATALINA_HOME=H:\Tomcat 5.5 set CATALINA_OPTS=-server -Xmx512m -Xms128m このCATALINA_HOMEというのは、TOMCATのホームディレクトリを指します。 ではCATALINA_OPTSとはなんでしょうか。これは、TOMCATが起動するときのオプションの設定になります。 -server -Xmx512m -Xms128m これを設定しなくてもTomcatは起動します。しかし、自分の作成するアプリが大きくなるにつれて、メモリ不足(OutOfMemory?)になったりします。当然アプリの作りが悪い場合もあるのですが、ここは チューニングする際にまず見直すことになるところですので、自分のマシンのメモリと相談しながら設定しましょう。 -server サーバーVMとして動きます。 何も指定しない場合は、 クライアントVMとして動きます。 Tomcatはサーバとして動かすので指定しています。 -Xmx メモリ最大使用量を指定します。 -Xms メモリ初期使用量を指定します。 @ITの記事が参考になりますので、参照してみてください。 また4系の場合、TomcatをWindowsサービスから起動するときのJavaランタイムオプションの設定方法も参考にしましょう。 Windowsの場合、サービスに登録されたTomcatの実行ファイルは catalina.batではなくtomcat.exeなので、レジストリを変更する必要があるそうです。さすがWindows、わけわからん。 ではtomcatを実行してみましょう。 Active Portsで8080を使っているプログラムがC:\j2sdk1.4\bin\java.exeであればたぶんTomcatは起動しています。 8080がなにも使っていなければ、スタートメニューのプログラムからApache Tomcat 4.1を選択し、Start Tomcat を選択して起動させましょう。 起動後はIEを立ち上げてアドレスに、http://localhost:8080と打ち込みます。 こんな画面がでれば成功です。 ではこんな画面ではなく、ページが見つかりませんだとか、ページが表示できませんだとかいわれたら、まずURLのポートがあっているか、またTomcatが動いているか確認してみてください。 確認はActive Portsでおこないます。 もちろんJDKは必須です。 tomcat+Apache連携だいぶん前にJK2は開発を中止して、既にリンクもないですね。ちょっと1.2なので一見バージョンがさがっているように見えます。Apache2.2はもうmod_proxy_ajpで連携できるんですね。Apache2.2+Tomcat5.5 wget http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.23/tomcat-connectors-1.2.23-src.tar.gz cd tomcat-connectors-1.2.23-src/native ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-acpache=/usr/local/apache2/ --with-java-home=/usr/local/j2sdk1.4/ make make install httpd.confに LoadModule jk_module modules/mod_jk.so を追加しておきましょう。またtomcat-connectors-1.2.23-src/conf/workers.propertiesも /usr/local/apache2/conf/にコピーしておきましょう。このとき tomcat-connectors-1.2.23-src/conf/workers.propertiesはいっぱい書いてあって、よくわからん場合は、workers.properties.minimalをworkers.propertiesに名前を変えて使いましょう。 では連携してみます。たとえば、tomcatのserver.xmlに <Context path="/hoge" ..... とかしてコンテキストが追加されていて、http://localhost:8080/hogeがちゃんとうごいていれば、(連携する前にはtomat単体で動いていることが前提です) httpd.confに JkWorkersFile /usr/local/apache2/conf/workers.properties JkLogFile /usr/local/apache2/logs/mod_jk.log JkMount /hoge/* hoge を追加します。次にworkers.propertiesです。 worker.list=wlb,jkstatus,hoge worker.hoge.port=8009 worker.hoge.host=localhost worker.hoge.type=ajp13 worker.listにhogeを追加して、その定義を追加しました。ではつぎはtomcatのserver.xmlです。 <!-- Define an AJP 1.3 Connector on port 8009 --> <!-- <Connector className="org.apache.ajp.tomcat4.Ajp13Connector" port="8009" minProcessors="5" maxProcessors="75" acceptCount="10" debug="0"/> --> もしくは <!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> このような記述を確認します。コメントになっている場合は、とってやりましょう。 <Connector className="org.apache.ajp.tomcat4.Ajp13Connector" port="8009" minProcessors="5" maxProcessors="75" acceptCount="10" debug="0"/> ではtomcatを再起動して、 netstat -ltp で確認します。8009があれば、OKです。では実際にブラウザから確認して表示されるかを確認しましょう。表示されない場合は、 /usr/local/apache2/logs/mod_jk.log を確認します。 LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.0.59.so <IfModule mod_jk.c> Include conf/mod_jk.conf </IfModule> ではmod_jk.confに JkWorkersFile "C:/Program Files/Apache Group/Apache2/conf/workers.properties" JkLogFile "C:/Program Files/Apache Group/Apache2/logs/mod_jk.log" JkLogLevel info JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories JkRequestLogFormat "%w %V %T" JkMount /hoge/* hoge さすがWindows。JkWorkersFile?とかの指定でダブルクォーテイションがないと落ちますね。ディレクトリ名のなかに空白が入っているからでしょう。嫌がらせ以外のなにものでもない。 worker.list=hoge worker.hoge.port=8009 worker.hoge.host=localhost worker.hoge.type=ajp13 できたらtomcat,apacheを再起動して、http://localhost/hoge/です。http://localhost/hogeですとつながらないかもしれないので、注意しましょう。これがいやならmod_jk.confに JkMount /hoge hoge を追加しておきます。 virtualhostに追加する場合は、(SSLも含めて) JkMount /hoge/* hoge を追加します。 参考:Apache-Tomcat連携(mok_jk) ここからは旧のJK2を使う場合です。 ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-tomcat41=/usr/local/tomcat4.1 make うまくいくとjakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache2にmod_jk2.soができてますので、 cp -p mod_jk2.so /usr/local/apache2/modules/ でコピーしてやります。 またjakarta-tomcat-connectors-jk2-2.0.4-src/jk/conf/workers2.propertiesも /usr/local/apache2/conf/にコピーしておきましょう。このworkers2.propertiesにtomcatのコンテキスト名がhogeでしたら、 [uri:/hoge/*] を追加しておきます。コピー後はhttpd.confにmod_jk2.soを追加します。 LoadModule jk2_module modules/mod_jk2.so では再起動です。またApacheでVirtualHost?の設定の設定をしている場合は、ApacheのVirtualHost?の設定を参考にしてみてください。 ちょっと整理しよう.. 参考: tomcat5.5tomcatもメジャーバージョンアップし、いったいなにが変わったのでしょうか。
さてインストールしてみましょう。あとからLinuxやSolarisでも動かすので、exeではなく、jakarta-tomcat-5.5.7.tar.gzをダウンロードしました。JKD1.5が入っているのを確認し、C:\Tomcat5.5に解凍して、 set CATALINA_HOME=C:\Tomcat5.5 set CATALINA_OPTS=-server -Xmx512M -Xms128M set JAVA_HOME=C:\JDK1.5 と設定後、startup.batで起動です。xmのメモリは調整してください。 あれ?Tomcat Administrationが動かん? Tomcat's administration web application is no longer installed by default. Download and install the "admin" package to use it. デフォルトではインストールされないんですね。では、5.5.9 Admin tar.gzもダウンロードして、CATALINA_HOMEにいれておきます。後は、conf/tomcat-users.xmlに <role rolename="manager"/> <role rolename="admin"/> <username="manager" password="manager_pass" roles="manager"/> <username="admin" password="admin_pass" roles="admin"/> を追加しておきます。コンテキストの設定がかわっていますので、Tomcat TIPSのコンテキストを参照してみてください。 http://muimi.com/j/jakarta/tomcat55/ tomcat6いつのまにやら6がでてますね。変更点は
ほかにもいろいろあるようなのですが、ちょっと入れてみましょう。 wget http://www.meisei-u.ac.jp/mirror/apache/dist/tomcat/tomcat-6/v6.0.10/bin/apache-tomcat-6.0.10.tar.gz tar xzvf apache-tomcat-6.0.10.tar.gz mv apache-tomcat-6.0.10 /usr/local/tomcat6 環境変数を確認しておきます。 export JAVA_HOME=/usr/local/jdk1.5 export CATALINA_HOME=/usr/local/tomcat6 export CATALINA_OPTS="-server -Xmx512M -Xms128M" export PATH=$PATH:$JAVA_HOME/bin JAVA_HOMEとかは自分の環境に読み替えておいてください。では /usr/local/tomcat6/bin/startup.sh で起動です。http://localhost:8080で確認しておきましょう。 /usr/local/tomcat6/bin/shutdown.sh で停止です。ここまでは5と一緒です。 後は5と同じように、conf/tomcat-users.xmlに <?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="manager"/> <user username="tomcat" password="manager" roles="manager"/> </tomcat-users> としておきます。 リンク参考書籍コメント
|