• ベストアンサー

TOMCAT 個別メッセージ画面について

現在、WindowsサーバにTOMCATのみをインストールしているのですが、本サーバのアプリケーションはサービスを停止させて行ってます。 本ホストへ「Apache HTTPサーバー」を新規インストールし、TOMCATサービス停止時に本HTTPサーバーがアクセスしてきたクライアントへ個別メッセージをはじめとして返答させるようにしたいのですが具体的にどのように設定すればいいか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • tkf-
  • ベストアンサー率58% (821/1396)
回答No.3

> 簡単に申し上げると、httpサーバーがフロントエンドに配置され、メンテナンス中のTOMCATへのリクエストを全てをメンテナンスページにリダイレクトするようなイメージになります。 最初の話に戻ると、tomcat停止後、同じポートでListenするApacheを立ち上げればいいのでは。 それを「連携」という形で実現するには、繰り返しになりますが、ユーザからのリクエストの受け持ちをApacheに任せて、tomcatで処理しなければならない動的ページの処理は、mod_proxy_ajpを用いてtomcatにつなげるという形しかないのでは。 https://www.adminweb.jp/apache/tomcat/ メンテナンス中は、mod_proxy_ajpを止めるなり、mod_rewriteでメンテナンスページに飛ばせばいいだけです。 今、tomcatで18080を使っているのであれば、18081とかに変更、Apacheで18080を受け持って、適宜18081にほり投げるというように、変更が必要かもしれませんが。

CoCo_Mix
質問者

お礼

色々と教えていただきありがとうございました。 設定としては、Apache HTTP Serverを常にフロントエンドで配置して、TOMCATと連携させるのが1番良さそうですね。 ※メンテナンスに合わせて、rewriteエンジンをon/offさせるのがいいかなと感じました。 ただ、同一ホスト内にインスタンスが複数起動していることなども含め、教授いただきました情報を参考にしつつ検討いたします。

その他の回答 (2)

  • tkf-
  • ベストアンサー率58% (821/1396)
回答No.2

> TOMCAT稼動中→TOMCAT停止→Apache HTTP Server起動→個別メッセージ返答 ですよね。tomcatは関係なくなると思いますが。 > apache http サーバーとTOMCATとの連携を含めて本設定をした場合の動作を教えていただけませんか。 連携も何もないと思います。tomcat停止した時点で、tomcatは何も受け付けてくれません。 それを代わりに、Apacheを立ち上げて固定メッセージを表示しようとしているのですよね。 本当に連携させるなら、通常時からApacheをフロントエンドにして、必要なリクエストだけをtomcatに渡す、という方法ぐらいしかないのでは。

  • tkf-
  • ベストアンサー率58% (821/1396)
回答No.1

とりあえず、ルートのindex.htmlにメッセージのページを作る。 mod_rewriteを使って、全リクエストを~/index.htmlに書き換え。 でいけるのでは。 http://d.hatena.ne.jp/tyn_iMarket/20130104/1357319887

CoCo_Mix
質問者

お礼

ご回答いただきありがとうございます。 1点確認させてください。 「mod_rewrite」モジュールは「Apache HTTP Server」 には実装されていると思いますが、TOMCATには本モジュールは実装されていなかったと思います。 また、リダイレクト先を「httpd.conf」を修正して 指定すると思いますが、TOMCATには本ファイルもなかったように思います。 自身のイメージとしては、以下なのですが、apache http サーバーとTOMCATとの連携を含めて本設定をした場合の動作を教えていただけませんか。 【イメージ】 TOMCAT稼動中→TOMCAT停止→Apache HTTP Server起動→個別メッセージ返答 以上、よろしくお願いします。

CoCo_Mix
質問者

補足

自身の記載が不十分で申し訳ありません。 (1)TOMCATの利用ポート番号:18080 ※同一ホスト内で複数のインスタンスが起動  (頭1桁が異なる) (2)Apache(http Server)の利用ポート番号:80 ※デプロイ後、TOMCATの起動確認が終えるまで「re_write」したいためポート番号が重複しないように設定しています。 (3)クライアントからTOMCATへの接続 http://IPアドレス:8080/AAA/index.html 上記環境下で、TOMCAT(ポート番号:18080)へのリクエスト要求を全てローカルの個別画面(メンテナンスページ)へ「re_write」したいという状態ですがうまく設定できません。 また、「httpd.conf」は各TOMCATサーバメンテナンス用にサーバ分準備しており、httpd起動時にファイル名をリネームして、「re_write」の条件およびルールが変更されるように組み込んでおります。 ※TOMCATの起動確認完了後、他のインスタンスをメンテナンスする形でバッチ化しています。 (全てのインスタンスのデプロイ完了後、httpd停止) 簡単に申し上げると、httpサーバーがフロントエンドに配置され、メンテナンス中のTOMCATへのリクエストを全てをメンテナンスページにリダイレクトするようなイメージになります。

関連するQ&A

  • Apache、Tomcatの連携するか否かについて

    ・アプリケーション配布にはJava Web Start を使用 ・クライアントはブラウザではなくSwingを使用 ・サーバーとの通信にはHttpを使用 ・ログイン時にSSLを使用 のように使用するアプリケーションサーバーで、 (1)Tomcat単体 (2)TomcatとApacheを連携 するのではどちらが望ましいでしょうか? TomcatでもSSLが使えるようで悩んでおります。 Tomcat単体のメリット、デメリットが知りたいです。 よろしくお願いします。

    • ベストアンサー
    • Java
  • apache + tomcat でtomcatが起動しません。

    既出の質問であれば申し訳ありません。 apacheサーバをインストールした後、tomcat6.0をインストールしました。インストール時は正常に動作するのですが、tomcatを再起動すると 「ローカルコンピュータ上のApache Tomcatサービスは起動して停止いたしました。パフォーマンスログ、警告サービスなど、一部のサービスは作業がない場合に自動停止します。」 というメッセージが表示されて起動されません。 windowsXP(Home Edition)を再起動すると右下にアイコンも出ていないようです。以前は動いていたのですが。。。 何かアドバイスがございましたらお願いいたします。

    • ベストアンサー
    • Java
  • Tomcatで困っています

    Tomcatがうまく動かなくて大変困っています。 Eclipsから操作したいのですが、それ以前の問題で・・・ IEのアドレスに http://localhost:8080/ からApache Tomcatのトップ画面は出ます。 その後 Tomcat Manager ⇒ Tomcat Webアプリケーションマネージャ もちゃんと出て、 Eclipsから作ったTomcatプロジェクトも見れます。 ですが、いざプロジェクタを選ぶと『HTTPステータス 404』と怒られてしまいます。 解決策が全く分かりません。どなたかにご教授願いたく、どうぞよろしくお願い致します。 今現在インストールしてあるのはTomcat 5.5.20ですが、うまくいかなかったのでバージョンを インストール・アンインストールを幾度が繰り返してしまいました。 どうぞよろしくお願い致します。

    • ベストアンサー
    • Java
  • ApacheとTomcat ポート80番について

    現在、VPSでマルチドメインで以下の2つサイトを運用しています。 1. PHPによるWordPressサイト 2. Javaによる動的サイト(静的HTML無し) Apache HTTP Server(ポート80)のバーチャルドメインを使用し、2のJavaサイトの場合はAJPでTomcat(ポート8009)へ処理を振り分けています。一般的な連携方法でと思います。 サーバーOSはCentOS5.5、IPアドレスはひとつ、ウェブサーバーにはApache HTTP Server, サーブレットコンテナとしてApache Tomcatを使用しています。root権限保持しています。 質問させていただきたいことは、Apache HTTP ServerおよびApache Tomcatを同時に起動させながらポート80番を1のサイトの場合はApache HTTPが使用、2のサイトの場合はApache Tomcatが使用できるようにする方法はご存知ないでしょうか?ということです。 現在はTomcat単独で運用する場合よりもApache HTTPを経由させるためにJavaのサイトが若干反応が遅く感じます。そもそも静的コンテンツはありませんし、URLの書き換えなども別の手段を用いているため、Apache HTTP Serverを経由する意味はどちらのサイトともブラウザでポート80番へアクセスできるようにする以外ありません。 何かよい方法ご存知ないでしょうか?なお、IPアドレスはひとつ増やしても構いません。

  • apacheとtomcatについて

    お世話になっております。 現在趣味でapacheとtomcatを連携させて webアプリ的なものを作成しています。 そこで疑問に思ったことなのですが、 apacheとtomcatを連携させるのは、 ポート80からもサーバサイドJavaが使えるようになる、という 利点があるからだという風に解釈しています。 ただ、web上の様々なサイトを見るところ、 クライアントサイドはapache上で動かし、 サーバサイドはtomcat上で動かすという様な分別の仕方をしている ような記述が多く見られます。 私はクライアントサイドもサーバサイドも 全てtomcat上に配置して動かしているのですが、 クライアントサイドをapache上で動かすのはどのような利点があるのでしょうか。 よろしくお願いいたします。

  • tomcatが動かなくなりました。動かすにはどうしたらいいですか?

    tomcatが動かなくなりました。動かし方を教えてください。 eclipseでtomcatプラグインまで入れて動作を確認できました。 最後にテスト用のプロジェクトをいくつも消した後、 tomcatが動きません。service status : startedになりますが http://localhost:8080/にアクセスしても HTTPステータス 404 - / type ステータスレポート メッセージ / 説明 The requested resource (/) is not available. Apache Tomcat/5.5.28 としか出てきません。 どうやったらいいですか?

  • ApacheとTomcatでのサーバー構築の利点

    OracleDBにアクセスしてサーバー経由でクライアントにデータを表示するシステムをJAVAで組もうとしてます。サーバー環境としてWebサーバはApacheで、アプリケーションサーバはTomcatで構築した方がよいということを聞きましたが他のサーバーに比べてどの部分が優れているのかがわかりません。

    • ベストアンサー
    • Java
  • Tomcatはhttp serverは含んでいる

    Tomcatのwikipediaを読んでいたら 開発されたWebコンテナである。TomcatはWebサーバと連携して実行できるJavaコードの環境を提供するSunのJava ServletとJavaServer Pages (JSP)の仕様を実装している。Tomcatはそれ自身、HTTPサーバを内部に含んでいる。HTTPサーバと連携させて用いることもできる[5]。例えば、Apache HTTP Serverとはコネクタモジュールを用いて連携を行う。1.3系と2.0系ならばmod_jkなどを用い、2.2以降はmod_proxy_ajpモジュールを用いる。 と書いてありました。Tomcatはhttp serverも含んでいるということは、他のapacheなどのhttpサーバーと連携させるってどういうことでしょうか?Tomcatがhttpサーバーの機能を持っていたらわざわざ他のウェブサーバーを連携するという意義がわかりません。どういうことでしょうか?

    • ベストアンサー
    • Java
  • ApacheとTomcatについて

    社内LANの中でWebサーバーを立てています。 ApacheとTomcatを利用しています。 以前までは、問題なく利用できていたのですが、突然、 他マシンからのアクセスができなくなりました。 (HTTP403のエラーが出てしまいます) サーバー自体からはアクセス可能です。 Apacheのhttpd.confを調べてみたのですが、 特にアクセス制限などは記述してありませんでした。 どうしたら、他マシンからアクセスできるようになるのか教えてください。 ちなみに、telnetやftpなどは、問題なくできます。

  • Tomcatがサービス起動しない

    Servlet,JSPでシステムを構築しています。 Tomcatをインストールしたところ,なぜか%CATALINA_HOME%\bin\startup.batからでないと起動しません。管理ツールのサービスから起動しようとすると「サービス起動中にエラーが発生しました」と出て起動ができません。 開発用クライアントやサーバではそのような問題は出ていないのですが,本稼動用のサーバでのみそういった症状がでます。原因が良くわからずに困っています。 ------------------------- JAVA SDK 1.4.2 Tomcat 5.0.19 OS:Windows2000 Server Apache 2.0.49 JAVA_HOME=C:\j2sdk1.4.2 CATALINA_HOME=C:\Progra~1\Apache~1\Tomcat~1.0 (C:\Program Files\Apache Software Foundation\Tomcat 5.0)です。 ----------------------------

専門家に質問してみよう