約 4,068,377 件
https://w.atwiki.jp/wiki6_tomcat/pages/8.html
ToMCaTとは ToMCaTはIEICEの都立高専Student Branchです。 IEICE 電子情報通信学会は高専の電子情報工学科とたぶん最も関係の深い学会です。IEICEには学生によって運営されている「学生会」という下位組織があり,その参加校の一部にはStudent Branchという支店のようなものが設置されてます。ちなみに都立高専は東京支部学生会所属になります。 ToMCaTという名前について 響きがいいから(!!!) by 創設時メンバの方々 だそうです。いちおう,いちおう「TOkyo Met. CAllage of Tech.(都立高専の英語表記)」から大文字にした部分を抜き出すとTOMCATになりますねー。という程度の意味はあります。というかその程度の意味しかないのですね…。
https://w.atwiki.jp/kylico/pages/61.html
tomcat 作成日/更新日 2011.10.06/- OS SL6.1 手順 目次 インストール 環境変数設定 Eclipseへプラグインをインストール Eclipseの設定 各apiの設定 手順 内容 インストール yum install tomcat6 tomcat6-admin-webapps tomcat6-webapps 環境変数設定 ~/.bash_profileへ以下を追加する。 export CATALINA_HOME=/usr/share/tomcat6 export CATALINA_BASE=/var/lib/tomcat6 CATALINA_HOME Tomcatをインストールしたディレクトリ CATALINA_BASE 今使うTomcatインスタンス用のディレクトリ Eclipseへプラグインをインストール http //www.eclipsetotale.com/tomcatPlugin.html 最新版の「tomcatPluginV33.zip」をダウンロード。 mv ./tomcatPluginV33.zip /usr/lib/eclipse/plugins/. unzip tomcatPluginV33.zip rm tomcatPluginV33.zip Eclipseの設定 「ウィンドウ」→「設定」→「Tomcat」を選択。 TomcatのバージョンとTomcatホームを設定し、Server.xmlを選択する。 更に→「JVM設定」を選択。 JREをOpenJDKからJDKに変更する。 各apiの設定 servlet-api.jar el-api.jar jsp-api.jar 上記を設定する。 ln -s /usr/share/java/tomcat6/tomcat6-servlet-2.5-api-6.0.24.jar /usr/share/tomcat6/lib/servlet-api.jar ln -s /usr/share/java/tomcat6/tomcat6-el-2.1-api-6.0.24.jar /usr/share/tomcat6/lib/el-api.jar ln -s /usr/share/java/tomcat6/tomcat6-servlet-2.5-api-6.0.24.jar /usr/share/tomcat6/lib/jsp-api.jar
https://w.atwiki.jp/0-0-3-8/pages/14.html
Tom WindowsでのTomcatの導入 WindowsでのTomcatの導入 [#ba7e9de6] ダウンロード方法 [#la742eda] インストール方法 [#j4782dd5] 環境設定 [#u2e7db73] 準備 [#x95174c2] 起動・停止 [#vc0f5900] Tomcat-Manager [#be253830] 基本構成 コンテキスト web.xml 動作確認 ダウンロード方法 http //tomcat.apache.org/index.html にアクセス します。 「Tomcat 5.5」をクリックします。 「Archives」からダウンロードページへ 「v5.5.20」をクリックします。 「bin」をクリックします。 「apache-tomcat-5.5.20.exe」をクリックしてダウンロードします。 インストール方法 ダウンロードしたファイルをダブルクリックします。 「Next」をクリックします。 「I Agree」をクリックします。 5つの項目が出てきて、上3つがチェックされていて、下2つはチェックされていませんが、下2つもチェックして「Next」をクリックします。 インストール先を変更する場合は「Browse」をクリックしてインストール先を指定します。インストール先が決まったら「Next」をクリックします。 「ポート番号」「User Name」「Password」を入力して「Next」をクリックします。(User Name、Password は後からでも変更できます。) 「Install」をクリックするとインストールが始まります。 「Finish」をクリックしてTomcatのインストールを終了します。 環境設定 マイコンピューターを右クリックします。 プロパティをクリックします。 詳細設定タブをクリックします。 環境変数をクリックします。 環境変数画面が開いたらユーザー環境変数(上)の「新規」をクリックします。 以下の変数名と値を入力します。 変数名 変数値 CATALINA_HOME C /Program Files/Apache Software Foundation/Tomcat 5.5 CLASSPATH ;%CATALINA_HOME%/common/lib/jsp-api.jar;%CATALINA_HOME%/common/lib/servlet-api.jar 注意 インストール場所を変更した場合、CAKALINA_HOME は変更先を指定する。 注意 環境変数が複数ある場合は 「;」 を使い、「.;%JAVA_HOME%/lib/tool.jar;%CATALINA_HOME%/common/lib/jsp-api.jar」のように記述する。 準備 %CATALINA_HOME%/bin/ (C \Program Files\Apache Software Foundation\Tomcat 5.5\bin)以下にある「tomcat5.exe」のショートカットを作成し、デスクトップへ移動してください。 スタートメニューから「Apache Tomcat5.5」→「Configure Tomcat」をクリック。 「General」タブの「Startup type」が「Manual」になっていることを確認する。+ %CATALINA_HOME%/webapps/jsp-examples/ (C \Program Files\Apache Software Foundation\Tomcat 5.5\webapps/jsp-examples)の中にある「source.jsp」ファイルを右クリックして「プロパティ」を選択し、「全般」タブの「変更」から「Notepad」を選択してください。(要するに.jspファイルをNotepadに関連付けすればいいわけです) %CATALINA_HOME%/conf/ C \Program Files\Apache Software Foundation\Tomcat 5.5\conf)以下のweb.xmlを開き80行目の param-value false /param-value を true に変更してください。 起動・停止 起動:先ほど作成した「Tomcat5.exe」のショートカットをダブルクリック。 停止:起動時に表示されるコマンドプロンプトを閉じる。 ※上記以外に「Configure Tomcat」から起動・停止を行うことも可能。 Tomcat-Manager Tomcatを起動した状態でhttp //localhost 8080/にアクセス 左上のメニューから「Tomcat Manager」をクリックします。 インストール時に設定したユーザ名とパスワードを入力します。 画面が切り替わって「Tomcat Webアプリケーションマネージャ」という文字がTOPに書かれているページに変わります。 開いたページはほっといて%CATALINA_HOME%/conf/ (C \Program Files\Apache Software Foundation\Tomcat 5.5\conf)以下のtomcat-users.xmlを開きます。 user username="tomcat" password="tomcat" roles="tomcat"/ の部分を以下のように変更します。 user username="任意のユーザ名" password="任意のパスワード" roles="tomcat,manager"/ 変更後、「Tomcat Manager」にアクセスする際は、上で設定したユーザ名とパスワードを使用してください。 基本構成 %CATALINA_HOME%/webapps/ (C \Program Files\Apache Software Foundation\Tomcat 5.5\webapps)以下に任意のディレクトリ(アプリケーション名)を作成。 作成したプロジェクトディレクトリ以下を構成。 ******************** ***ディレクトリ構成*** ******************** 任意のディレクトリ(アプリケーション名) | +---WEB-INF | +---src | | | +---サーブレットファイル(~.java) | +---classes | | | +---サーブレットファイル(~.class) | +---lib | | | +---パッケージ(~.jar) | jspファイル(~.jsp) srcディレクトリにclassesディレクトリのショートカットを作成しておくと便利です。 コンテキスト %CATALINA_HOME%/conf/Catalina/localhost/ (C \Program Files\Apache Software Foundation\Tomcat 5.5\conf\Catalina\localhost)以下に「アプリケーション.xml」を作成。 作成したファイルを開き、下記のように設定します。 ?xml version="1.0" encoding="UTF-8"? Context path="/アプリケーション名" docBase="アプリケーション名" crossContext="true" reloadable="true" debug="1" /Context web.xml %CATALINA_HOME%/webapps/WEB-INF (C \Program Files\Apache Software Foundation\Tomcat 5.5\webapps\にWEB-INFフォルダを作る) 以下にweb.xmlを作成し、以下を記述します。 ?xml version="1.0" encoding="UTF-8"? web-app xmlns="http //java.sun.com/xml/ns/j2ee" xmlns xsi="http //www.w3.org/2001/XMLSchema-instance" xsi schemaLocation="http //java.sun.com/xml/ns/j2ee http //java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" servlet servlet-name サーブレットファイル名 /servlet-name servlet-class パッケージ.サーブレットファイル名 /servlet-class /servlet servlet-mapping servlet-name サーブレットファイル名 /servlet-name url-pattern /servlet/サーブレットファイル名 /url-pattern /servlet-mapping /web-app 動作確認 %CATALINA_HOME%/webapps/ (C \Program Files\Apache Software Foundation\Tomcat 5.5\webapps)以下に Sample ディレクトリを作成します。 web.xmlファイルを作成し、以下を記述してください。 ?xml version="1.0" encoding="UTF-8"? web-app xmlns="http //java.sun.com/xml/ns/j2ee" xmlns xsi="http //www.w3.org/2001/XMLSchema-instance" xsi schemaLocation="http //java.sun.com/xml/ns/j2ee http //java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4" servlet servlet-name SampleServlet /servlet-name servlet-class SampleServlet /servlet-class /servlet servlet-mapping servlet-name SampleServlet /servlet-name url-pattern /servlet/SampleServlet /url-pattern /servlet-mapping /web-app 下記のファイルをダウンロードしてください。 SampleServlet.java sample.jsp ダウンロードしたファイルを下の基本構成通りに配置してください。 ******************** ***ディレクトリ構成*** ******************** Sample | +---WEB-INF | +---src | | | +---SampleServlet.java | +---classes | | | +---SampleServlet.class | +---lib | +---web.xml | sample.jsp コマンドプロンプトを開いてSampleServlet.javaをコンパイルしてください。 CLASSPATHが正しくないとコンパイルできないので注意してください。 Tomcatを起動して http //localhost 8080/Sample/servlet/SampleServlet にアクセスしてください。 これでTomcatのインストールは終了です。
https://w.atwiki.jp/redcloud/pages/23.html
目次 目次 前提条件 Tomcat6.0.20 インストール tomcatユーザー作成 インストール jsvcをmakeして生成 設定 tomcatディレクトリの所有者をtomcatユーザーに変更 サービス登録 managerアプリケーションへのアクセス権限設定 apacheと連携 exampleサーブレットを連携対象にする server.xml 8080に関する部分をコメントアウト 動作確認 前提条件 CentOS5.4上に構築する Tomcat6.0.20 インストール tomcatユーザー作成 # useradd -s /sbin/nologin tomcat インストール $ wget http //ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.tar.gz $ tar zxvf apache-tomcat-6.0.20.tar.gz $ sudo mv apache-tomcat-6.0.20 /usr/local # cd /usr/local # chown -R root.root apache-tomcat-6.0.20 # ln -sfn apache-tomcat-6.0.20 tomcat jsvcをmakeして生成 # cd /usr/local/tomcat/bin/ # tar zxvf jsvc.tar.gz # cd jsvc-src # chmod 755 configure # ./configure --prefix=/usr/local/tomcat/bin/jsvc-src --with-java=/usr/java/jdk1.6.0_17 # make # cp -p jsvc .. # cd .. # rm -fr jsvc-src 設定 tomcatディレクトリの所有者をtomcatユーザーに変更 # cd /usr/local # chown -R tomcat.tomcat apache-tomcat-6.0.20 サービス登録 起動スクリプト作成 # /usr/local/tomcat/bin/jsvc-src/native/ # cp -p Tomcat5.sh /etc/init.d/tomcat # vi /etc/init.d/tomcat ↓↓↓ 2行目に追記 # Startup script for Apache Tomcat 6.0 # # chkconfig - 80 20 # description Apache Tomcat 6.0 is the Apache Servlet Engine RI for Servlet 2.5/JSP 2.1 ↑↑↑ 追記 #JAVA_HOME=/home2/java/j2sdk1.4.2_03 JAVA_HOME=/usr/java/jdk1.6.0_17 #CATALINA_HOME=/home/tomcat5/tomcat5/jakarta-tomcat-5/build CATALINA_HOME=/usr/local/tomcat #DAEMON_HOME=/home/jfclere/daemon DAEMON_HOME=$CATALINA_HOME #TOMCAT_USER=tomcat5 TOMCAT_USER=tomcat #CATALINA_BASE=/home/tomcat5/tomcat5/jakarta-tomcat-5/build CATALINA_BASE=$CATALINA_HOME #CATALINA_OPTS="-Djava.library.path=/home/jfclere/jakarta-tomcat-connectors/jni/native/.libs" CATALINA_OPTS="-Djava.awt.headless=true -Dcom.sun.management.jmxremote -Xms128m -Xmx128m -Xss64k -XX NewSize=64m -XX MaxNewSize=64m -XX PermSize=32m -XX MaxPermSize=32m -XX SurvivorRatio=2 -XX TargetSurvivorRatio=80 -XX +DisableExplicitGC -XX +UseParallelGC -XX +UseParallelOldGC" : case "$1" in start) # # Start Tomcat # #$DAEMON_HOME/src/native/unix/jsvc \ $DAEMON_HOME/bin/jsvc \ ←修正 -jvm server \ ←追記 stop) # # Stop Tomcat # #$DAEMON_HOME/src/native/unix/jsvc \ $DAEMON_HOME/bin/jsvc \ ←修正 サービス追加 # cd /etc/init.d # chmod 755 tomcat # chkconfig --add tomcat 動作確認 # service tomcat start http //servername 8080/ にアクセスして画面確認 # service tomcat stop managerアプリケーションへのアクセス権限設定 # vi /usr/local/tomcat/conf/tomcat-users.xml ?xml version= 1.0 encoding= utf-8 ? tomcat-users role rolename="manager" / ←追記 role rolename="admin" / ←追記 user username="admin" password="admin" roles="manager,admin" / ←追記 /tomcat-users tomcatを再起動して動作確認 apacheと連携 ※apacheをmod_proxy_ajpを有効にしてインストールしている事が前提 exampleサーブレットを連携対象にする # cd /usr/local/apache2 # vi conf/extra/httpd-vhosts.conf Location /examples ProxyPass ajp //localhost 8009/examples /Location server.xml 8080に関する部分をコメントアウト # cd /usr/local/tomcat # vi conf/server.xml !-- Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" / -- 動作確認 # service tomcat start # service httpd start この状態で、例えば http //servername 8080/examples/ にアクセスできず、http //servername/examples/ でアクセスできることを確認する
https://w.atwiki.jp/honeybe/pages/48.html
Tomcat 設定系 Postのデータサイズ上限 conf/server.xml の Connector設定のattributeにmaxPostSizeを設定する http //d.hatena.ne.jp/onozaty/20060502/p1 http //tomcat.apache.org/tomcat-6.0-doc/config/http.html 起動オプション JVM args 環境変数 JAVA_OPTS, CATALINA_OPTSのいずれかに設定すればよい。
https://w.atwiki.jp/siba-arata/pages/13.html
実行するアプリケーションの判定 C \Program Files\Apache Software Foundation\Tomcat 6.0\conf\Catalina\localhost配下のコンテキストファイルで実行するアプリケーションを判定している。 Tomcatのディレクトリ構造について J2EEにおけるWEBアプリケーション WEB-INF JSPファイルの配置場所 および JSPファイルの変更が反映されない際の対処法 コンテキストルート +JSPフォルダ、HTMLフォルダ +JSPファイル、HTMLファイル +WEB-INF +class +lib +JSPフォルダ +JSPファイル JSPファイルの内容を変更した場合、cookieを削除して読み込み直す必要がある。(×) JSPファイルの内容を変更した場合、F5を押下して読み込み直す必要がある。(○) Server.xmlのConnectionTimeoutのデフォルトは60秒
https://w.atwiki.jp/naobe/pages/42.html
OpenSourceに戻る バージョンと標準 Tomcatバージョン servlet jsp 6.0 2.4 2.0 5.5 2.3 2.0 ソースプログラム http //tomcat.apache.org/download-60.cgi Tomcat6.0.3.5ソース解読 苦労しました。大筋は合っていると思う。 Tomcat解読.xls 起動 Bootstrap#startからCatalina#startを呼び出す。Server#startを実行し、Server.xmlで設定したポート番号でsocketのstreamからreadする。readした文字が"SHUTDOWN"なら停止処理を実行する。 server.xmlからデフォルトのポート番号は、8005になる。 Server port="8005" shutdown="SHUTDOWN" public class Catalina extends Embedded { public void start() { ((Lifecycle) getServer()).start(); if (await) { await(); stop(); } public void await() { getServer().await(); } public final class StandardServer public void await() { awaitSocket = new ServerSocket(port, 1, InetAddress.getByName("localhost")); while (!stopAwait) { ServerSocket serverSocket = awaitSocket; Socket socket = null; StringBuilder command = new StringBuilder(); try { InputStream stream = null; socket = serverSocket.accept(); socket.setSoTimeout(10 * 1000); // Ten seconds stream = socket.getInputStream(); // Read a set of characters from the socket int expected = 1024; // Cut off to avoid DoS attack while (expected shutdown.length()) { if (random == null) random = new Random(); expected += (random.nextInt() % 1024); } while (expected 0) { int ch = -1; try { ch = stream.read(); } catch (IOException e) { log.warn("StandardServer.await read ", e); ch = -1; } if (ch 32) // Control character or EOF terminates loop break; command.append((char) ch); expected--; } // Match against our command string boolean match = command.toString().equals(shutdown); if (match) { break; } } 停止 Bootstrap#stopServerからCatalina#stopServerを呼び出す。 ソースは以下になっている。Serverのポート番号からソケットを作成して、"SHUTDOWN"という文字を送信している。 public class Catalina extends Embedded { public void stopServer(String[] arguments) { ・・・・ s = getServer(); try { if (s.getPort() 0) { String hostAddress = InetAddress.getByName("localhost").getHostAddress(); Socket socket = new Socket(hostAddress, getServer().getPort()); OutputStream stream = socket.getOutputStream(); String shutdown = s.getShutdown();// "SHUTDOWN" for (int i = 0; i shutdown.length(); i++) stream.write(shutdown.charAt(i)); stream.flush(); stream.close(); socket.close(); } else { log.error(sm.getString("catalina.stopServer")); System.exit(1); } } catch (IOException e) { log.error("Catalina.stop ", e); System.exit(1); } レルム レルムとは、ユーザ、パスワード、ロールをまとめたもの。ユーザDBのエントリに相当する。UserDatabaseRealm、JDBCレルム、DataSourceレルム、JNDIレルムがある。web.xmlのセキュリティ設定で制限されたURLをアクセスするときに認証するためのユーザ、パスワード、ロールを定義したもの。web.xmlでは、URLとHTTPメソッドに対してロールを割り当てる。 UserDatabaseRealm JNDIを介してアクセスするがデフォルトでは$CATALINA_BASE/conf/tomcat-user.xmlを使う。 $CATALINA_BASE/conf/server.xmlに以下を設定する。 Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/ Engine 直下に設定すると、Tomcat内の全ての仮想ホストで共通の設定になる Host 直下に設定すると、仮想ホスト内で共通の設定になる。 Context 直下に設定すると、WEBアプリケーション内で共通の設定になる。 web.xmlで制限をかけたURLにアクセスすると、認証(BASIC,DIGEST,FORM)を行う。 認証に成功すると、ユーザを内部に保管して、指定したURLに移動する。 BASIC認証の場合は、ブラウザを閉じる(TCPコネクションclose ?)までユーザをキャッシュする(認証を行わない)。 FORM認証の場合は、セッションタイムアウトになるまでユーザをキャッシュする。キャッシュされたユーザはセッションの直列化をまたがって保存されない(APサーバ停止によるセッションの保管のことでしょう)。 tomcat-users.xmlの設定例 tomcat-users user name="tomcat" password="tomcat" roles="tomcat" / user name="role1" password="tomcat" roles="role1" / user name="both" password="tomcat" roles="tomcat,role1" / /tomcat-users データソース Tomcat6.Xの内部データソースは、org.apache.tomcat.dbcp.dbcp.BasicDataSource。これは、org.apache.commons.dbcp.BasicDataSourceと同じもの。 http //www.flsi.co.jp/Java_text/vol140.htm 参照 設定 項目 内容 親を優先とするクラスローダの移譲 web.xmlのcontextのdelegate属性にtrueを設定する セッションタイムアウト conf/web.xmlのsession-configタグを修正するとすべてのWEBアプリケーションに影響する。WEBアプリケーションのweb.xmlを修正すると、WEBアプリケーションのみ影響する。単位は分。 サーバ化 【参考】 http //miyazaki.ddo.jp/linuxserver/tomcatautostart.html http //www.atmarkit.co.jp/fjava/rensai4/safetomcat_01/safetomcat_01_1.html 【環境】 tomcat バージョン:6.0 OS CentOS 5.5 専用ユーザ作成 #adduser -d tomcatインストールディレクトリ -s /sbin/nologin tomcat 所有者の変更 #chown -R tomcat tomcatインストールディレクトリ #chmod -R g-r,g-w,g-x tomcatインストールディレクトリ JAVA_HOME設定 $TOMCAT_INSTALL/binsetenv.shに以下を設定 JAVA_HOME=JAVAホームディレクトリ JRE_HOME=JAVAホームディレクトリ commons-daemon commons-daemon概要 Javaは、signalに対応していないため、サーバの急なシャットダウンなどのタイミングでサーバリソース(TCP接続、DBとのコネクションなど)の正規の終結処理ができない。CとJavaを組み合わせてこれに対応したもの。UNIXとWindowsで異なるモジュールを提供する。UNIX版は、jsvc。 commons-daemonのインストール http //commons.apache.org/daemon/download_daemon.cgi から以下をダウンロード commons-daemon-1.0.5-src.tar.gz commons-daemon-1.0.5.jar commons-daemon-1.0.5-src.tar.gzを展開し以下を実行。 [hoge@athlon4 tmp]$ cd commons-daemon-1.0.5-src [hoge@athlon4 commons-daemon-1.0.5-src]$ cd src/ [hoge@athlon4 src]$ cd native/ [hoge@athlon4 native]$ cd unix/ [hoge@athlon4 unix]$ sh support/buildconf.sh [hoge@athlon4 unix]$ ./configure *** Current host *** checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking cached host system type... ok *** C-Language compilation tools *** checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking for ranlib... ranlib checking for strip... strip *** Host support *** checking C flags dependant on host system type... ok *** Java compilation tools *** checking for sablevm... NONE checking for kaffe... NONE checking for javac... /usr/java/jdk1.6.0_21/bin/javac /usr/java/jdk1.6.0_21/bin/javac checking wether the Java compiler (/usr/java/jdk1.6.0_21/bin/javac) works... yes checking for jar... /usr/java/jdk1.6.0_21/bin/jar gcc flags added checking for cap_init in -lcap... yes *** Writing output files *** configure creating ./config.status config.status creating Makefile config.status creating Makedefs config.status creating native/Makefile *** All done *** Now you can issue "make" [hoge@athlon4 unix]$ make clean (cd native; make clean) make[1] ディレクトリ `/home/hoge/tmp/commons-daemon-1.0.5-src/src/native/unix/native に入ります rm -f arguments.o debug.o dso-dlfcn.o dso-dyld.o help.o home.o java.o location.o replace.o locks.o signals.o ../jsvc jsvc-unix.o libservice.a make[1] ディレクトリ `/home/hoge/tmp/commons-daemon-1.0.5-src/src/native/unix/native から出ます [hoge@athlon4 unix]$ make (cd native; make all) make[1] ディレクトリ `/home/hoge/tmp/commons-daemon-1.0.5-src/src/native/unix/native に入ります gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"i386\" -Wall -Wstrict-prototypes -DHAVE_LIBCAP -I/usr/java/jdk1.6.0_21/include -I/usr/java/jdk1.6.0_21/include/linux -c jsvc-unix.c -o jsvc-unix.o gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"i386\" -Wall -Wstrict-prototypes -DHAVE_LIBCAP -I/usr/java/jdk1.6.0_21/include -I/usr/java/jdk1.6.0_21/include/linux -c arguments.c -o arguments.o gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"i386\" -Wall -Wstrict-prototypes -DHAVE_LIBCAP -I/usr/java/jdk1.6.0_21/include -I/usr/java/jdk1.6.0_21/include/linux -c debug.c -o debug.o gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"i386\" -Wall -Wstrict-prototypes -DHAVE_LIBCAP -I/usr/java/jdk1.6.0_21/include -I/usr/java/jdk1.6.0_21/include/linux -c dso-dlfcn.c -o dso-dlfcn.o gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"i386\" -Wall -Wstrict-prototypes -DHAVE_LIBCAP -I/usr/java/jdk1.6.0_21/include -I/usr/java/jdk1.6.0_21/include/linux -c dso-dyld.c -o dso-dyld.o gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"i386\" -Wall -Wstrict-prototypes -DHAVE_LIBCAP -I/usr/java/jdk1.6.0_21/include -I/usr/java/jdk1.6.0_21/include/linux -c help.c -o help.o gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"i386\" -Wall -Wstrict-prototypes -DHAVE_LIBCAP -I/usr/java/jdk1.6.0_21/include -I/usr/java/jdk1.6.0_21/include/linux -c home.c -o home.o gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"i386\" -Wall -Wstrict-prototypes -DHAVE_LIBCAP -I/usr/java/jdk1.6.0_21/include -I/usr/java/jdk1.6.0_21/include/linux -c java.c -o java.o gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"i386\" -Wall -Wstrict-prototypes -DHAVE_LIBCAP -I/usr/java/jdk1.6.0_21/include -I/usr/java/jdk1.6.0_21/include/linux -c location.c -o location.o gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"i386\" -Wall -Wstrict-prototypes -DHAVE_LIBCAP -I/usr/java/jdk1.6.0_21/include -I/usr/java/jdk1.6.0_21/include/linux -c replace.c -o replace.o gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"i386\" -Wall -Wstrict-prototypes -DHAVE_LIBCAP -I/usr/java/jdk1.6.0_21/include -I/usr/java/jdk1.6.0_21/include/linux -c locks.c -o locks.o gcc -g -O2 -DOS_LINUX -DDSO_DLFCN -DCPU=\"i386\" -Wall -Wstrict-prototypes -DHAVE_LIBCAP -I/usr/java/jdk1.6.0_21/include -I/usr/java/jdk1.6.0_21/include/linux -c signals.c -o signals.o ar cr libservice.a arguments.o debug.o dso-dlfcn.o dso-dyld.o help.o home.o java.o location.o replace.o locks.o signals.o ranlib libservice.a gcc jsvc-unix.o libservice.a -ldl -lpthread -lcap -o ../jsvc make[1] ディレクトリ `/home/hoge/tmp/commons-daemon-1.0.5-src/src/native/unix/native から出ます [hoge@athlon4 unix]$ 作成されたjsvcのownerをtomcatに修正して${TOMCAT_HOME}/binにコピー /etc/init.dに起動スクリプト作成 # # source function # . /etc/init.d/functions # # That is for Tomcat-5.0.x (Apache Tomcat/5.0) # # Adapt the following lines to your configuration JAVA_HOME=/usr/java/jdk1.6.0_21 CATALINA_HOME=/opt/apache-tomcat-6.0.29 TOMCAT_USER=tomcat # for multi instances adapt those lines. TMP_DIR=/tmp PID_FILE=/var/run/jsvc.pid LOCKFILE=/var/lock/subsys/tomcat CATALINA_BASE=$CATALINA_HOME CATALINA_OPTS= CLASSPATH=\ $JAVA_HOME/lib/tools.jar \ #$CATALINA_HOME/bin/commons-daemon.jar \ $CATALINA_HOME/bin/commons-daemon-1.0.5.jar \ $CATALINA_HOME/bin/bootstrap.jar case "$1" in start) echo -n "Starting jsvc " # # Start Tomcat # $CATALINA_HOME/bin/jsvc \ -user $TOMCAT_USER \ -home $JAVA_HOME \ -Dcatalina.home=$CATALINA_HOME \ -Dcatalina.base=$CATALINA_BASE \ -Djava.io.tmpdir=$TMP_DIR \ -wait 10 \ -pidfile $PID_FILE \ -outfile $CATALINA_HOME/logs/catalina.out \ -errfile 1 \ $CATALINA_OPTS \ -cp $CLASSPATH \ org.apache.catalina.startup.Bootstrap # # To get a verbose JVM #-verbose \ # To get a debug of jsvc. #-debug \ RETVAL=$? if [ $RETVAL = 0 ]; then echo_success touch $LOCKFILE else echo_failure fi echo ;; stop) # # Stop Tomcat # $CATALINA_HOME/bin/jsvc \ -stop \ -pidfile $PID_FILE \ org.apache.catalina.startup.Bootstrap RETVAL=$? if [ $RETVAL = 0 ]; then echo_success rm -f $PIDFILE $LOCKFILE else echo_failure fi echo ;; *) echo "Usage tomcat start/stop" exit 1;; esac プロセス 上記の設定でjsvcを起動すると、オーナがrootのプロセスとtomcatのプロセスが常駐する。指定のポート番号をlistenしているのは、tomcatのプロセス。 Tomcatのクラスローダ 以下、Tomcat6の場合。 クラスローダ 対象ロケーション 説明 WEBアプリケーション WEB-INF/classes,WEB-INF/lib 他のWEBアプリケーションからは使われないクラスローダ Shared tomcat /shared/lib, tomcat /shared/lib/*.jar。 tomcat /conf/catalina.propertiesのshared.loaderに設定する。設定がなければcommonローダと同じ。 WEBアプリケーションが共用するクラスローダ Catalina tomcat /conf/catalina.propertiesのserver.loaderに設定。設定がなければcommonローダと同じ。 Tomatの実行に使用される。WEBアプリケーションから使えないクラスローダ common tomcat /lib, tomcat /lib/*.jar tomcat /conf/catalina.propertiesのcommon.loaderに設定されている。 TomcatとWEBアプリケーションの両方から使われるクラスローダ 委譲の優先順位 ブートストラップ・クラスローダ システム・クラスローダ Webアプリケーション自身のクラスローダ Commonクラスローダ Sharedクラスローダ WEBアプリケーション Tomcat /webapps下にディレクトリを作成すると、そのディレクトリ名のWEBアプリケーション(コンテキストパスがディレクトリ名)が追加される。 任意のディレクトリをWEBアプリケーションに追加するには、conf/server.xmlに以下を設定。 Server Service Engine Host Context path="/naobe" docBase="c /webapps/naobe" debug="0" reloadable="true" /Context c /webapps/naobe以下のディレクトリ構成は以下。 WEB-INF +-- web.xml +-- classes | +-- パッケージ、クラスファイル +-- lib docBaseは、Tomcatインストールディレクトリからの相対ディレクトリも指定可能。 http //localhost 8080/naobeでWEBアプリケーションを参照できる。
https://w.atwiki.jp/dotcom/pages/28.html
サーバー上に工数入力のプログラムを作ってみたら?といわれて手を出しました。 Tomcatについての最初の記事 Tomcatはじめました 「Tomcat」を含む記事 Tomcatタグ Tomcatを含む記事一覧 Tomcat記事 はじめました パッケージ javax.servlet は存在しません 起動したらロードするサーブレット
https://w.atwiki.jp/wiki7_az/pages/24.html
Windows Tomcat をダウンロードする。 ダウンロードした jakarta-tomcat-5.0.28.exe を実行して、Tomcat をインストールする。パスワードの入力以外はデフォルトのままで進む。 インストールディレクトリの tomcat5.exe を実行して、起動する。 Linux J2SE v 1.4.2_11 SDK をダウンロードする。 JDK をインストールする。 $ chmod 755 j2sdk-1_4_2_11-linux-i586-rpm.bin $ ./j2sdk-1_4_2_11-linux-i586-rpm.bin # rpm -ivh j2sdk-1_4_2_11-linux-i586.rpm Tomcat をダウンロードする。 Tomcat をインストールする。 $ tar xfvzp jakarta-tomcat-5.0.28.tar.gz # mv jakarta-tomcat-5.0.28 /usr/local/tomcat-5.0.28 # ln -s /usr/local/tomcat-5.0.28 /usr/local/tomcat # useradd -d /var/empty/tomcat -s /sbin/nologin tomcat # chown -R tomcat tomcat /usr/local/tomcat-5.0.28 起動スクリプトを作成する # vi /etc/init.d/tomcat #!/bin/sh # Startup script for Tomcat5.5 # # chkconfig 2345 80 15 # description Tomcat5.5 # Settings test -r /etc/rc.d/init.d/functions . /etc/rc.d/init.d/functions CATALINA_HOME=/usr/local/tomcat # Scripts case "$1" in start) echo "Tomcat start..." $CATALINA_HOME/bin/startup.sh if [ $? = 0 ] ; then echo_success else echo_failure fi echo ;; stop) echo "Tomcat stop..." $CATALINA_HOME/bin/shutdown.sh if [ $? = 0 ] ; then echo_success else echo_failure fi echo ;; restart) $0 stop $APACHE stop $0 start $APACHE start ;; reload) $0 stop $0 start ;; version) $CATALINA_HOME/bin/catalina.sh version ;; *) echo "Usage tomcat {start|stop|restart|reload|version}" exit 1 esac exit 0 # chmod 755 /etc/init.d/tomcat # chkconfig --add tomcat # chkconfig tomcat on catalina.sh を編集する。 # vi /usr/local/tomcat/bin/catalina.sh CATALINA_HOME=/usr/local/tomcat CATALINA_BASE=$CATALINA_HOME CATALINA_TMPDIR=$CATALINA_HOME/temp JAVA_HOME=/usr/java/j2sdk1.4.2_11 JRE_HOME=$JAVA_HOME
https://w.atwiki.jp/kanekotky/pages/12.html
TomcatCluster Tools LambdaProbeWebアプリケーション毎に、セッション数やDBCPコネクション数をリスト表示してくれる。 セッションの強制破棄なんかもできるようなので、使い勝手あるかも? デモサイトもあるので、雰囲気を知ることが可能。 Java Webアプリの動作状況を把握 - Tomcat Probe 1.2、JBossにも対応 舞姫Tomcatの起動を早くする為のEclipseプラグイン。チェックボックスを操作するだけで簡単にTomcatのContextを有効/無効にできる。 Books How Tomcat WorksTomcatの内部動作の解説と、Servletコンテナの作り方 http //www.amazon.co.jp/exec/obidos/ASIN/097521280X/250-4053314-5974609 Etc CovalentTomcatサポートをしている会社