Tomcat TIPS
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*[[Tomcat TIPS]]
#contents
** ユーザー名もしくはパスワードを忘れてしまった。
CATALINA_HOMEのconfディレクトリにtomcat-users.xmlがありま...
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="password1" roles="tomc...
<user username="role1" password="password1" roles="role1...
<user username="both" password="password1" roles="tomcat...
<user username="admin" password="password1" roles="admin...
</tomcat-users>
こんな感じになっていると思いますが、これのrolesにadminの...
** アクセスログがとりたい
ApacheとTomcatを連携すればいいんですが、ここではTomcatだ...
CATALINA_HOMEのconfディレクトリにserver.xmlがあります。こ...
<!--
<Valve className="org.apache.catalina.valves.AccessLogVa...
directory="logs" prefix="localhost_access_log." suffix="...
pattern="common" resolveHosts="false"/>
-->
この記述を探して、<!-- -->のコメントを削除します。その後T...
localhost_access_log.2004-09-25.txtみたいなファイルができ...
** あるホストやアドレスだけを許可したい。または拒否したい。
たとえば/adminは他のマシンからアクセスされるのは困るとい...
http://localhost:8080/admin/login.jsp
にいって Tomcat Web Server Administration Toolからログイ...
ログイン後、左上の Service (Tomcat-Standalone)をクリック...
このときクリックするのは、名前でなくその左の虫眼鏡みたい...
ここで右上に Context Actions--利用可能なアクション--とあ...
そこでプロパティの型をRemoteAddrValveを選択します。
ここにアドレスを追加していきます。まず自分(127.0.0.1)は...
また192.168.1.1~192.168.1.255までを許可したい場合は、192...
** ファイル一覧を表示したくない
web.xmlのorg.apache.catalina.servlets.DefaultServletServl...
ちなみに<load-on-startup>はServerの起動と同時にこのservle...
<servlet>
<servlet-name>default2</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultSe...
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
また
<servlet-mapping>
<servlet-name>default2</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
を追加しておきます。
** versionを忘れてしまった
TOMCATを起動して、http://localhost:8080/index.jspを表示し...
すると左上の猫の隣にvesionが表示されます。もしくは、Tomca...
<%= application.getServerInfo() %>
としてやります。これはhttp://localhost:8080/index.jspのソ...
つまりこれ。javax.servlet.ServletContext.getServerInfo();
** 文字化けする
formから入力された日本語が化けるときがあります。こんなと...
public void reset(ActionMapping map, HttpServletRequest ...
try {
request.setCharacterEncoding("Windows-31J");
} catch (Exception e) {
e.printStackTrace();
}
}
といった記述をみかけます。確かに化けることはなくなるので...
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</fil...
<init-param>
<param-name>encoding</param-name>
<param-value>MS932</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
を記述し、TOMCAT_HOME\webapps\examples\WEB-INF\classes\fi...
SetCharacterEncodingFilter.java
をプロジェクトに取り込んでおります。正直日本語の処理ぐら...
<mime-mapping>
<extension>html</extension>
<mime-type>text/html;charset=Shift_JIS</mime-type>
</mime-mapping>
をweb.xmlに追加してやるといけるそうな。現象がでないので、...
** CGI
5以降ですが、CATALINA_HOMEのserver/libにある、servlets-cg...
http://cgi39.plala.or.jp/klove/w/k.cgi?page=Tomcat%A4%C7P...
**セッション時間変更
servlet-mappingの下あたりに
<session-config>
<session-timeout>60</session-timeout>
</session-config>
を追加します。単位は60です。
**MIME
CATALINA_HOME\confのweb.xmlに<mime-mapping>がありますので...
<mime-mapping>
<extension>asf</extension>
<mime-type>video/x-ms-asf</mime-type>
</mime-mapping>
**web.xml
これは記述する順番がきまっています。上から順番に..
[[J2EE 1.4に対応したweb.xmlを記述する>http://www.atmarkit...
icon
display-name
description
distributable
context-param
filter
filter-mapping
listener
servlet
servlet-mapping
session-config
mime-mapping
welcome-file-list
error-page
taglib
resource-env-ref
resource-ref
security-constraint
login-config
security-role
env-entry
ejb-ref
ejb-local-ref
** Linuxで自動起動
#!/bin/bash
#
# Startup script for the Tomcat
#
# chkconfig: 345 80 15
# description:Tomcat
# Source function library.
. /etc/rc.d/init.d/functions
export JAVA_HOME=/usr/local/j2sdk1.4
export PATH=$PATH:$JAVA_HOME/bin
export CATALINA_HOME=/usr/local/tomcat4.1
export CATALINA_OPTS="-server -Xmx256m -Xms256m -Xss256k"
export PATH=$PATH:$CATALINA_HOME/bin
case "$1" in
'start')
if [ -f $CATALINA_HOME/bin/startup.sh ]; then
echo "Start tomcat"
daemon --user nobody "$CATALINA_HOME/bin/star...
sleep 1
pid=`pidof java`
echo -n "tomcat [$pid]"
touch /var/lock/subsys/tomcat
echo $pid > /var/run/tomcat.pid
echo
fi
;;
'stop')
if [ -f $CATALINA_HOME/bin/shutdown.sh ]; then
echo "Stop tomcat"
daemon --user nobody "$CATALINA_HOME/bin/shut...
sleep 2
rm -f /var/run/tomcat.pid
rm -f /var/lock/subsys/tomcat
echo
fi
;;
'restart')
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
;;
esac
exit 0
pidof javaはあやしいです。またchkconfig: 345 80 15の80はa...
** クラスの読み込み順
$APP_HOME/WEB-INF/classes
$APP_HOME/WEB-INF/lib/*.jar
環境変数のCLASSPATH
$CATALINA_HOME/common/classes
$CATALINA_HOME/common/endorsed/*.jar
$CATALINA_HOME/common/lib/*.jar
$CATALINA_HOME/shared/classes
$CATALINA_HOME/shared/lib/*.jar
**GC
java -Xloggc:output_file hogeapp
でGCの情報をoutput_fileにはくことができる。またjava.lang....
http://www.atmarkit.co.jp/fjava/rensai3/javavm02/javavm02...
**Exception java.lang.OutOfMemoryError: requested <size> ...
こんなエラーが出る場合は、Xmxを見直しましょう。小さくして...
**ログオフすると終了する。
これは試してないんですが、シャットダウンやログオフのイベ...
**セッション
contextタグに
cookies="false"
を追加するとセッションの別管理が可能。試してません。
http://www.atmarkit.co.jp/fjava/javafaq/session/session04...
**ajp13.connect() failed ajp13:/opt/33/work/jk2.socket
Apacheと連携しているとerror_logログにajp13.connect() fail...
[lb:lb_1]
info=A second load balancer.
debug=0
[channel.socket:localhost:8019]
info=A second tomcat instance.
debug=0
tomcatId=localhost:8019
lb_factor=1
group=lb
group=lb_1
disabled=0
[channel.un:/opt/33/work/jk2.socket]
info=A second channel connecting to localhost:8019 via u...
tomcatId=localhost:8019
lb_factor=1
debug=0
[uri:127.0.0.1:8003/ex]
info=Example webapp in the virtual host. It'll go to lb_...
context=/ex
group=lb_1
これはsecond tomcat instance用みたいなので消しました。
**[notice] channelApr.open()
error_logログに[notice] channelApr.open()が大量に出力され...
[logger]
level=DEBUG
となっているからです。DEBUGをERRORに変更しました。
** java.lang.NoSuchMethodError: javax.servlet.jsp.JspFact...
さていきなり動かすとこんなエラーがでてくれました。違うバ...
** Apache + Tomcat連携でCPUが100%に...
実際お目にかかったことはないのですが、server.xmlを8009を8...
<!--
<Connector port="8009"
enableLookups="false" redirectPort="8443" ...
-->
<Connector port="8009" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxS...
enableLookups="false" redirectPort="8443" ...
connectionTimeout="20000" disableUploadTim...
参考:[[Apache2.2+Tomcat5.5でのCPU使用率>http://www.javar...
** アクセス制限をweb.xmlの記述だけで実現する
http://www.atmarkit.co.jp/fjava/javatips/011jspservlet002...
** コンテキスト
conf/Catalina/localhost以下にコンテキスト名.xmlで保存して...
%TOMCAT_HOME%/conf/context.xmlやWebアプリのMETA-INF/conte...
** JSP事前コンパイル
http://www.atmarkit.co.jp/fjava/javatips/144jspservlet051...
** The Apache Tomcat Native library which allows optimal ...
エラーが気になる場合は、server.xmlの
<Listener className="org.apache.catalina.core.AprLifecy...
を
<!-- <Listener className="org.apache.catalina.core.AprL...
にコメントアウトします。
** TOMCAT 6からResource nameはどこに書く?
context.xmlにでも。
** 調査
[[★ Tomcat のクライアント証明書の認証について>http://www....
** リンク
http://www.jajakarta.org/tomcat/faq/misc.html~
[[Tomcatのエラーログをeclipseのコンソールに出力する>http:...
** コメント
--#comment
終了行:
*[[Tomcat TIPS]]
#contents
** ユーザー名もしくはパスワードを忘れてしまった。
CATALINA_HOMEのconfディレクトリにtomcat-users.xmlがありま...
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="password1" roles="tomc...
<user username="role1" password="password1" roles="role1...
<user username="both" password="password1" roles="tomcat...
<user username="admin" password="password1" roles="admin...
</tomcat-users>
こんな感じになっていると思いますが、これのrolesにadminの...
** アクセスログがとりたい
ApacheとTomcatを連携すればいいんですが、ここではTomcatだ...
CATALINA_HOMEのconfディレクトリにserver.xmlがあります。こ...
<!--
<Valve className="org.apache.catalina.valves.AccessLogVa...
directory="logs" prefix="localhost_access_log." suffix="...
pattern="common" resolveHosts="false"/>
-->
この記述を探して、<!-- -->のコメントを削除します。その後T...
localhost_access_log.2004-09-25.txtみたいなファイルができ...
** あるホストやアドレスだけを許可したい。または拒否したい。
たとえば/adminは他のマシンからアクセスされるのは困るとい...
http://localhost:8080/admin/login.jsp
にいって Tomcat Web Server Administration Toolからログイ...
ログイン後、左上の Service (Tomcat-Standalone)をクリック...
このときクリックするのは、名前でなくその左の虫眼鏡みたい...
ここで右上に Context Actions--利用可能なアクション--とあ...
そこでプロパティの型をRemoteAddrValveを選択します。
ここにアドレスを追加していきます。まず自分(127.0.0.1)は...
また192.168.1.1~192.168.1.255までを許可したい場合は、192...
** ファイル一覧を表示したくない
web.xmlのorg.apache.catalina.servlets.DefaultServletServl...
ちなみに<load-on-startup>はServerの起動と同時にこのservle...
<servlet>
<servlet-name>default2</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultSe...
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
また
<servlet-mapping>
<servlet-name>default2</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
を追加しておきます。
** versionを忘れてしまった
TOMCATを起動して、http://localhost:8080/index.jspを表示し...
すると左上の猫の隣にvesionが表示されます。もしくは、Tomca...
<%= application.getServerInfo() %>
としてやります。これはhttp://localhost:8080/index.jspのソ...
つまりこれ。javax.servlet.ServletContext.getServerInfo();
** 文字化けする
formから入力された日本語が化けるときがあります。こんなと...
public void reset(ActionMapping map, HttpServletRequest ...
try {
request.setCharacterEncoding("Windows-31J");
} catch (Exception e) {
e.printStackTrace();
}
}
といった記述をみかけます。確かに化けることはなくなるので...
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</fil...
<init-param>
<param-name>encoding</param-name>
<param-value>MS932</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
を記述し、TOMCAT_HOME\webapps\examples\WEB-INF\classes\fi...
SetCharacterEncodingFilter.java
をプロジェクトに取り込んでおります。正直日本語の処理ぐら...
<mime-mapping>
<extension>html</extension>
<mime-type>text/html;charset=Shift_JIS</mime-type>
</mime-mapping>
をweb.xmlに追加してやるといけるそうな。現象がでないので、...
** CGI
5以降ですが、CATALINA_HOMEのserver/libにある、servlets-cg...
http://cgi39.plala.or.jp/klove/w/k.cgi?page=Tomcat%A4%C7P...
**セッション時間変更
servlet-mappingの下あたりに
<session-config>
<session-timeout>60</session-timeout>
</session-config>
を追加します。単位は60です。
**MIME
CATALINA_HOME\confのweb.xmlに<mime-mapping>がありますので...
<mime-mapping>
<extension>asf</extension>
<mime-type>video/x-ms-asf</mime-type>
</mime-mapping>
**web.xml
これは記述する順番がきまっています。上から順番に..
[[J2EE 1.4に対応したweb.xmlを記述する>http://www.atmarkit...
icon
display-name
description
distributable
context-param
filter
filter-mapping
listener
servlet
servlet-mapping
session-config
mime-mapping
welcome-file-list
error-page
taglib
resource-env-ref
resource-ref
security-constraint
login-config
security-role
env-entry
ejb-ref
ejb-local-ref
** Linuxで自動起動
#!/bin/bash
#
# Startup script for the Tomcat
#
# chkconfig: 345 80 15
# description:Tomcat
# Source function library.
. /etc/rc.d/init.d/functions
export JAVA_HOME=/usr/local/j2sdk1.4
export PATH=$PATH:$JAVA_HOME/bin
export CATALINA_HOME=/usr/local/tomcat4.1
export CATALINA_OPTS="-server -Xmx256m -Xms256m -Xss256k"
export PATH=$PATH:$CATALINA_HOME/bin
case "$1" in
'start')
if [ -f $CATALINA_HOME/bin/startup.sh ]; then
echo "Start tomcat"
daemon --user nobody "$CATALINA_HOME/bin/star...
sleep 1
pid=`pidof java`
echo -n "tomcat [$pid]"
touch /var/lock/subsys/tomcat
echo $pid > /var/run/tomcat.pid
echo
fi
;;
'stop')
if [ -f $CATALINA_HOME/bin/shutdown.sh ]; then
echo "Stop tomcat"
daemon --user nobody "$CATALINA_HOME/bin/shut...
sleep 2
rm -f /var/run/tomcat.pid
rm -f /var/lock/subsys/tomcat
echo
fi
;;
'restart')
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
;;
esac
exit 0
pidof javaはあやしいです。またchkconfig: 345 80 15の80はa...
** クラスの読み込み順
$APP_HOME/WEB-INF/classes
$APP_HOME/WEB-INF/lib/*.jar
環境変数のCLASSPATH
$CATALINA_HOME/common/classes
$CATALINA_HOME/common/endorsed/*.jar
$CATALINA_HOME/common/lib/*.jar
$CATALINA_HOME/shared/classes
$CATALINA_HOME/shared/lib/*.jar
**GC
java -Xloggc:output_file hogeapp
でGCの情報をoutput_fileにはくことができる。またjava.lang....
http://www.atmarkit.co.jp/fjava/rensai3/javavm02/javavm02...
**Exception java.lang.OutOfMemoryError: requested <size> ...
こんなエラーが出る場合は、Xmxを見直しましょう。小さくして...
**ログオフすると終了する。
これは試してないんですが、シャットダウンやログオフのイベ...
**セッション
contextタグに
cookies="false"
を追加するとセッションの別管理が可能。試してません。
http://www.atmarkit.co.jp/fjava/javafaq/session/session04...
**ajp13.connect() failed ajp13:/opt/33/work/jk2.socket
Apacheと連携しているとerror_logログにajp13.connect() fail...
[lb:lb_1]
info=A second load balancer.
debug=0
[channel.socket:localhost:8019]
info=A second tomcat instance.
debug=0
tomcatId=localhost:8019
lb_factor=1
group=lb
group=lb_1
disabled=0
[channel.un:/opt/33/work/jk2.socket]
info=A second channel connecting to localhost:8019 via u...
tomcatId=localhost:8019
lb_factor=1
debug=0
[uri:127.0.0.1:8003/ex]
info=Example webapp in the virtual host. It'll go to lb_...
context=/ex
group=lb_1
これはsecond tomcat instance用みたいなので消しました。
**[notice] channelApr.open()
error_logログに[notice] channelApr.open()が大量に出力され...
[logger]
level=DEBUG
となっているからです。DEBUGをERRORに変更しました。
** java.lang.NoSuchMethodError: javax.servlet.jsp.JspFact...
さていきなり動かすとこんなエラーがでてくれました。違うバ...
** Apache + Tomcat連携でCPUが100%に...
実際お目にかかったことはないのですが、server.xmlを8009を8...
<!--
<Connector port="8009"
enableLookups="false" redirectPort="8443" ...
-->
<Connector port="8009" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxS...
enableLookups="false" redirectPort="8443" ...
connectionTimeout="20000" disableUploadTim...
参考:[[Apache2.2+Tomcat5.5でのCPU使用率>http://www.javar...
** アクセス制限をweb.xmlの記述だけで実現する
http://www.atmarkit.co.jp/fjava/javatips/011jspservlet002...
** コンテキスト
conf/Catalina/localhost以下にコンテキスト名.xmlで保存して...
%TOMCAT_HOME%/conf/context.xmlやWebアプリのMETA-INF/conte...
** JSP事前コンパイル
http://www.atmarkit.co.jp/fjava/javatips/144jspservlet051...
** The Apache Tomcat Native library which allows optimal ...
エラーが気になる場合は、server.xmlの
<Listener className="org.apache.catalina.core.AprLifecy...
を
<!-- <Listener className="org.apache.catalina.core.AprL...
にコメントアウトします。
** TOMCAT 6からResource nameはどこに書く?
context.xmlにでも。
** 調査
[[★ Tomcat のクライアント証明書の認証について>http://www....
** リンク
http://www.jajakarta.org/tomcat/faq/misc.html~
[[Tomcatのエラーログをeclipseのコンソールに出力する>http:...
** コメント
--#comment
ページ名: