問題タブ [mod-jk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tomcat - mod_jk は、ubuntu サーバー 9.04 での apache2 tomcat6 および railo3 のヘルプ
tomcat6でcoldfusionサーバーrailoをセットアップし、apache2を使用してmod_jk経由でtomcatに接続しようとしています。すべてのファイルを railo で処理する必要があるわけではないため、railo webapp で /var/www (デフォルトの apache ディレクトリ) をホーム ディレクトリとして使用できるようにする以外はすべてセットアップしました。これについて最善の方法は何ですか?
[編集] この種の方法を使用できるようにしたい理由をもっと明確にさせてください。サブドメインのいくつかはめったに使用されないため(管理者など)、理想的にはすべてのcoldfusionページがrailoによって提供されるApacheに複数の仮想ホストを用意することを計画しているため、それらに個別のrailoアプリを用意するのは無駄に思えます
java - jboss での JSP デプロイの問題
Linux で Jboss 4.0.4GA をセットアップしています。jboss を問題なく起動した後、ブラウザで JSP ページにアクセスしようとしましたが、エラーが発生しました:
[更新] ボタンをクリックするか、後でもう一度やり直してください。
名前が無効な文字で始まっています。リソース ' https://uappdev.marvell.com/login/index.jsp ' の処理中にエラーが発生しました。リン...
<%@ page import="com.marvell.macroip.util.Constants" %> -^
変換されたサーブレット クラス ファイルが [jboss home]/work/jboss.web/localhost/_/org... ディレクトリにないことがわかりました。Jboss ログ ファイルにエラーはありません。
誰でもこの問題を解決するのを手伝ってもらえますか? 私はすでにこの問題に多くの時間を費やしていますが、運はありません。
ここに私のweb.xmlがあります:
jsp ページ:
このjspページを試してみると、空白のページになるか、ブラウザに元のjspコードが表示されます。
apache - 本番環境ではmod_proxy_ajpまたはmod_jkを使用する必要がありますか?
私は過去数日間、mod_proxy_ajpとmod_jkのどちらを使用してApachehttpdとtomcatを接続する必要があるかを検索してきました。私が見つけたすべてのサイトは数年前のものであり、時代遅れです。
では、適切な本番環境に使用するのに最適なのはどれですか?mod_proxy_ajpは、mod_jkを完全に置き換えるのに十分成熟していますか、それとも正しく構成できればmod_jkが最適ですか?また、各コネクタを構成するときの難易度の違いは何ですか?
apache - 仮想ホストの URL から Tomcat コンテキストを削除する (mod_jk、mod_rewrite)
/Context を介してアクセスできる多数の webapps を含む単一の Tomcat インスタンスがあります。Tomcat は httpd (実際には Debian Apache2) の背後にあり、各アプリ/コンテキストを提供する仮想ホストで構成されています。Tomcat 接続は mod_jk を使用します。
URL からコンテキストを削除することを気にしない場合、これは問題なく機能します。仮想ドメインのルートが要求されると、要求されたドメインは domain.com/Context にリダイレクトされます。
ただし、あるアプリでは、コンテキストを削除したいと考えています。これは、mod_rewrite を使用し、書き換えた URL を mod_jk に渡して、正しい Tomcat コンテキストに渡すことで実現できると思います。したがって、私の Debian Apache2 サイトで利用可能なファイルは次のようになります。
ドキュメントによると、[PT] フラグと +ForwardURICompat オプションにより、書き換えられた URL が jk_mod に渡されるはずです。しかし、それは起こっていないようです。
URL は書き直されていますが、mod_jk がそれを無視しているように見えます。
何か案は?ちなみに、現在 mod_proxy は使えません。
ありがとう
apache - Apache 2.2 および JBoss 4.2.3 用の mod_rewrite および mod_jk の構成
私の問題は次のとおりです。Windowsの1つのホスト(テスト環境では192.168.1.2)で実行されているAJP 1.3コネクタを備えたJBoss 4.2.3アプリケーションサーバーと、別のFreeBSDボックス(192.168.1.10)で実行されているApache 2.2.14があります。Apache はすべてのリクエストの「フロント ゲート」として機能し、mod_jk を介してそれらを JBoss に送信します。SEO の最適化を行う必要があるまでは、すべてが正常に機能していました。これらの最適化には SEF URL が含まれているため、JBoss に送信される前にリクエストを変更するために、Apache に mod_rewrite を使用することにしました。基本的に、2 つのルールを実装する必要があります。
- 「 http://hostname/directory/ 」などの古いルールを「 http://hostname/」に永久リダイレクトでリダイレクト
- 「 http://hostname/wtf/123/」のような URL を「http://hostname/wtf/view.htm?id=123 」に転送して、エンド ユーザーが「醜い」URL (実際の書き換え) を見ないようにします。 )。
テスト仮想ホストの Apache 構成は次のとおりです。
問題は、2 番目の書き換え規則が機能しないことです。リクエストが変更されずに JBoss にすり抜けるため、Tomcat 404 エラーが発生します。しかし、次のような 2 番目のルールにリダイレクト フラグを追加すると、
それは魅力のように機能します。しかし、リダイレクトはここで必要なものではありません:)。問題は、リクエストが別のホスト (192.168.1.2) に転送されることだと思いますが、それを機能させる方法がまったくわかりません。どんな助けでも大歓迎です:)
java - TomcatはJK要求への応答を停止します
負荷分散されたTomcatサーバーがハングアップしているという厄介な問題があります。どんな助けでも大歓迎です。
システム
ロードバランサーとして機能する別のサーバーの背後にある3台のサーバーで、HotSpot Server 14.3-b01(Java 1.6.0_17-b04)でTomcat6.0.26を実行しています。ロードバランサーはApache(2.2.8-1)+ MOD_JK(1.2.25)を実行します。すべてのサーバーはUbuntu8.04を実行しています。
Tomcatには、AJPコネクタとHTTPコネクタの2つのコネクタが設定されています。AJPはロードバランサーで使用され、HTTPは開発チームが選択したサーバーに直接接続するために使用されます(そうする理由がある場合)。
すぐに説明する問題を診断して修正するために、TomcatサーバーにLambdaProbe1.7bをインストールしています。
問題
問題は次のとおりです。アプリケーションサーバーが起動してから約1日後、JKステータスマネージャはERR
Tomcat2などのステータスのレポートを開始します。それは単にこの状態で立ち往生するでしょう、そして私がこれまでに見つけた唯一の修正はボックスをsshしてTomcatを再起動することです。
また、Tomcatサーバーがこの状態にある場合、JKステータスマネージャーの更新に非常に長い時間がかかることにも言及する必要があります。
最後に、JKステータスマネージャでスタックしたTomcatの「ビジー」カウントは常に高く、それ自体はダウンしません。Tomcatサーバーを再起動し、待機してから、JKのワーカーをリセットする必要があります。
分析
各Tomcat(AJPとHTTP)に2つのコネクタがあるので、HTTPコネクタを介してアプリケーションに接続できます。アプリケーションはこのように非常に高速に動作します。このサーバーを使用しているのは私だけなので、これは完全に正常です(JKがこのTomcatへの要求の委任を停止したため)。
問題をよりよく理解するために、応答しなくなったTomcatと、最近再起動された別のTomcat(たとえば、1時間前)からスレッドダンプを取得しました。
JKに正常に応答しているインスタンスは、ほとんどのTP-ProcessorXXXスレッドが「実行可能」状態で、次のスタックトレースを示しています。
スタックしているインスタンスは、「待機中」状態のTP-ProcessorXXXスレッドのほとんど(すべて?)を示しています。これらには、次のスタックトレースがあります。
Tomcatの内部についてはわかりませんが、「待機中」のスレッドは単にスレッドプールにあるスレッドであると推測します。それで、それらがスレッドプール内で待機しているスレッドである場合、TomcatがそれらをJKからの要求の処理で動作させないのはなぜですか?
編集:これが正常かどうかはわかりませんが、Lambda Probeは、[ステータス]セクションで、KeepAlive
状態にあるスレッドがたくさんあることを示しています。これはどういうわけか私が経験している問題に関連していますか?
解決?
したがって、前に述べたように、私が見つけた唯一の修正は、Tomcatインスタンスを停止し、JKワーカーを停止し、後者のビジーカウントがゆっくりと低下するのを待って、Tomcatを再度起動し、JKワーカーをもう一度有効にすることです。
この問題の原因は何ですか?さらに調査するにはどうすればよいですか?それを解決するために私は何ができますか?
前もって感謝します。
java - Wicket アプリケーション + Apache + mod_jk - AJP キューがいっぱいです!
Apache (2.2.3) と mod_jk (1.2.30) をスティッキー セッション付きの負荷分散コンポーネントとして使用し、Jboss 5 を Java アプリケーションのアプリケーション コンテナーとして使用して、Wicket ベースの Java アプリケーションを実稼働サーバー クラスターにデプロイしています。
JMX コンソールに表示されるように、Apache と Jboss の間の AJP キューがリクエストでいっぱいになり、アプリケーション サーバーが新しいリクエストを処理しなくなるという問題が、実稼働環境で一貫して確認されていません。関連するすべてのシステム コンポーネント (全体的なトラフィック、負荷データベース、プロセス リスト データベース、クラスター化されたすべてのアプリケーション サーバー ノードの負荷) を調べても、呼び出しが AJP キューで停滞している理由を説明するキャパシティの問題を示すものは何もありません。代わりに、すべてのシステムが十分にアイドル状態に見えます。
これまでのところ、この問題に対する唯一の解決策は、アプリサーバーとロード バランサーを再起動することです。これにより、AJP キューがたまにしかクリアされません。
システムの負荷が高くないにもかかわらず、キューがいっぱいになり、エンド ユーザーにコールが返されない理由を突き止めようとしています。
他の誰かが同様の問題を経験しましたか?
キューイングの動作を説明できる、他に監視すべきシステム メトリックはありますか?
これは潜在的に mod_jk の問題ですか? その場合、問題を解決するために mod_jk を mod_cluster に交換することをお勧めしますか?
どんなアドバイスでも大歓迎です。トラブルシューティングのために追加情報を提供できる場合は、喜んで提供します。
/ベン
apache - mod_jkを使用したApache+Tomcat:負荷分散時のmaxThread設定
2台のサーバーでmod_jkを使用してApache+Tomcatをセットアップしています。各サーバーには独自のApache+Tomcatペアがあり、すべての要求は2台のサーバー上のTomcat負荷分散ワーカーによって処理されます。
maxClient
ApacheとTomcatをどのように設定すべきかについて質問がmaxThread
あります。
デフォルトの番号は、
Apache: maxClient=150, Tomcat: maxThread=200
この構成では、サーバーのセットアップが1つしかない場合、Tomcatワーカーが一度に150を超える着信接続を受信することはないため、問題なく機能します。ただし、2つのサーバー間で負荷分散を行っている場合、Tomcatワーカーが150 +(別のサーバーからの数値)を受け取り、maxThreadをオーバーフローさせる可能性はありますSEVERE: All threads (200) are currently busy
か?
もしそうならmaxThread=300
、この場合、Tomcatを設定する必要がありますか?
ありがとう
java - mod_jk プロキシ アプリケーション サーバーからの一部の応答ヘッダーで Apache の圧縮を無効にする方法
Apache Httpd サーバーを介して動作するように (mod_jk によって) Tomcat サーバーを構成しています。
Apache Httpd サーバーは、ブラウザーに送信されるすべてのテキスト/html を (mod_deflate によって) 圧縮します。
一部の jsp ページはインタラクティブで長時間実行されます。つまり、実行中に進行状況やログを表示します。圧縮がオンになっている場合、これらのページのすべてのテキストは、ページ実行の最後に表示されます。
JSPページにいくつかの応答ヘッダーを設定できるようにしたいと思います。
また、Apache Httpd では、no-gzip環境変数を設定するなどして、圧縮を無効にする必要があります。
多分他のアプローチがありますか?
performance - 同時接続 jBoss の最大数
現在、大きな画像ファイルをクライアントにストリーミングするサーブレットを開発中です。Apache mod_jk ロード バランサーを使用して、クラスターに必要な Jboss ノードの数を決定しようとしています。1 つのリクエストを処理するのに約 5000 ミリ秒かかることがわかっています。ここのフォーラムhttp://people.apache.org/~mturk/docs/article/ftwai.htmlを使用して、可能な接続数を把握しようとしていますが、それぞれが説明されていないため問題が発生しています数式中の数値の 1 つ。具体的には、各サーバーを CPU あたり 200 リクエストに制限する必要があると言われていますが、式でそれを使用する必要があるかどうかはわかりません。私たちが使用している各サーバーには 8 つのコアがあるため、フォーラムは次のようになるはずです。
同時ユーザー = (500/5000) * 200 * 8 = 100 人の同時ユーザー
またはこのように:
同時ユーザー = (500/5000) * (200 * 8) * 8 = ~1200 の同時ユーザー
彼らがどちらを意味したかによって大きな違いが生じます。ドキュメントに例がないと、わかりにくいです。誰でも明確にできますか?
前もって感謝します。