2011-01-04 22 views
5

私は、ubuntu9.10と8.10サーバでmod_jk setup(どちらもポート80で動作しています)を使用してtomcat6を使用しています。私は/ usr/share/tomcat/webappsの下にwarファイルを展開します。 Tomcatサーバーがある一方で、私はいくつかの他の自己作成のメンテナンスページに、このページをリダイレクトする可能性がどのようにダウン時にtomcatをメンテナンスページにリダイレクト

Service Temporarily Unavailable 

The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later. 
Apache/2.2.11 (Ubuntu) mod_jk/1.2.15 Server at 192.168.2.54 Port 80 

:私はTomcatを再起動するようTomcatアプリケーションがブラウザ上でアクセスされたときに、展開時には、私は以下のページを取得しますダウン?。

答えて

5

あなたがエラーコード503

http://httpd.apache.org/docs/2.2/mod/core.html#errordocument

ErrorDocument 503 /maintance.html 
+0

はい、1台のマシンで動作しています。しかし、別のマシンではリダイレクトしていますが、メンテナンスページは表示されません。メンテナンスページの代わりに、私はtomcatを停止することをチェックするときにWebブラウザ上に 'maintenance.html'を表示しています。そこに何かトリックやヒントはありますか? – user465465

4

用のApacheでセットアップカスタムエラーページを使用すると、この予想される動作のmod_jkとTomcatコネクタを使用している場合することができます。あなたは

ErrorDocument 503 "foo" 

のようなものを使用している場合、あなたは成功しsomedomain.comするご案内するページまたは

ErrorDocument 503 "http://www.somedomain.com" 

にレンダリングされた「foo」を表示されます。あなたは

ErrorDocument 503 /maintenance.html 

のようなものを使用している場合、それはTomcatのコネクタの文脈の中で見ているので、しかし、Apacheは[DocumentRootの] /maintenance.htmlを見つけることができません。あなたのコネクタをアンマウントし、別の場所から静的コンテンツを提供するようにApacheに指示する必要があります。

これは、mod_jkを使い始めるための良いガイドです。 Custom Error Pages with Apache and Tomcat Connectors

編集:ここで私がカスタマイズした503ページを適切にレンダリングするために使用したソリューションです。

最初に、私たちのカスタムエラーページにはすべて、エラーコードが付加されています.Webアプリケーションには、これらのステータスコードを持つファイルがファイル名のルートとして含まれていない可能性があります。これは、マウントJKからカスタムエラーページに関連するすべてのファイルを除外することが容易になります

/503_maintenance.html 
/503_maintenance.css 
/503_corp_logo.png 

: だからあなたの例を使用するため、私は「custom_errors」というディレクトリに次の3つのファイルのようなものを持っているでしょう。私たちのバーチャルホストのファイルでは、我々は、エラードキュメントの場所やエイリアス

#Alias the location of your custom error page files 
Alias   /error/ /var/apache2/2.2/htdocs/custom_errors 
ErrorDocument 503  /error/503_maintenance.html 

#mount the core tomcat application 
JkMount  /*  myWorker 

#set the 503 code if myWorker is unavailable 
#and exclude the 503 pages from the tomcat/jboss application 
JkMount  /*  myWorker;use_server_errors=503 
JkUnMount /503* myWorker 

これは、基本的にはApacheに指示を設定し、Tomcatのコネクターのコンテキストで503接頭辞を持つすべてのファイルをマウントしていないのmod_jkと、それらのファイルにローカルになります代わりに。 DocumentRootに相対的な位置を使用したくない場合は、私のようにAliasを使用することができます。

+0

素晴らしい返信ですが、それは私のために働いていませんでした...私は2つのものを変更しなければなりませんでした 1. "エイリアス"行に末尾のスラッシュを追加してください 2.アンマウント/エラー*代わりに/ 503 * –

+0

こんにちはAndrij:この質問をチェックしてください、それは似ています。私はメンテナンスのためにWebページを使用しても構いませんが、設定を行うためにどこに置くべきかわからないので、このリンクをよく確認してください:http:// serverfault。com/questions/741494/tomcat-httpd-running-a-webapp-when-service-is-available-or-overloaded –

関連する問題