2011-10-26 66 views
2

これは何ヶ月も働いていましたが、今日はパワーサイクルがあり、何かが壊れました。申し訳ありませんが、これは少し詳細で具体的ですが、私は助けに絶望的です。二次ajpワーカーがApacheとTomcatの間で作業していない

私はapache-2.2と2つのtomcat-6サーバーを持っています(単に2つの別々のフォルダから実行しています)。私は、任意のHTTPコネクタを持っていないが、私は1つのAJPコネクタが両方のTOMCATSが、コネクタが実行されている報告し、任意の問題があるように思えません起動時にポート8009と8010の各サーバー上で実行されている:

INFO: JK: ajp13 listening on /0.0.0.0:8009 
... 
INFO: JK: ajp13 listening on /0.0.0.0:8010 

私は、私の労働者とApacheの設定が正しく設定されていることを合理的に確信しています。私はすべてで、8009罰金に何の問題もコネクタに到達することはできませんが、私がしようとすると、8010 apacheのは私に503ログを確認する(mod_jk.log)を与えることは言う:

jk_open_socket::jk_connect.c (594): connect to 127.0.0.1:8010 failed (errno=13) 
ajp_connect_to_endpoint::jk_ajp_common.c (922): Failed opening socket to (127.0.0.1:8010) (errno=13) 
ajp_send_request::jk_ajp_common.c (1507): (eis) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=13) 

しかし、私は理解できないものを私はそのポートへの単純なTelnetを実行し、GETを送信する場合である:

# telnet 127.0.0.1 8010 
Trying 127.0.0.1... 
Connected to localhost.localdomain (127.0.0.1). 
Escape character is '^]'. 
GET 
Connection closed by foreign host. 

それが正しいのTomcat(エラーが予想される)ヒット:だから、なぜそれに達するのapacheすることはできません

Oct 25, 2011 6:17:10 PM org.apache.jk.common.MsgAjp processHeader 
SEVERE: BAD packet signature 18245 
Oct 25, 2011 6:17:10 PM org.apache.jk.common.ChannelSocket processConnection 
SEVERE: Error, processing connection 

を?私がスーパーユーザーであるかどうかに関わらず、telnetは機能します。何が起こっているのでしょうか?私は完全に困惑している。

そして、私はapacheとtomcatの両方を再起動しようとしましたが、何も変わりません。見ていただきありがとうございます。

EDIT-1:これはクイックアップデートです... httpコネクタを追加しても正常に動作しますが、ajpコネクタはまだ失敗しています。

EDIT-2:ここでは、要求ごとの設定の詳細がある...

workers.properties:

worker.list=service1,service2 

worker.service1.type=ajp13 
worker.service1.host=127.0.0.1 
worker.service1.port=8009 

worker.service2.type=ajp13 
worker.service2.host=127.0.0.1 
worker.service2.port=8010 

のhttpd.conf(私はjkmountとJkMountの両方を参照してください...キャップは問題ありませんか? ):

JkMount /s1 service1 
JkMount /s1/* service1 

JkMount /s2 service2 
JkMount /s2/* service2 

サービス1のserver.xml:

<Connector port="8009" protocol="AJP/1.3" /> 
サービス2用

のserver.xml:

<Connector port="8010" protocol="AJP/1.3" /> 

私はそれはそれだと思います。

+0

あなたの最初のコードブロックはから2 "AJP13リスニング" が含まれてい2つのトムキャット。それは同じログファイルにありますか?両方のtomcatsは同じログファイルにログインしますか? – cherouvim

+0

2つのtomcatのserver.xmlとApacheのmod_jk設定セクションから関連する設定セクションを投稿できますか? – cherouvim

+0

cherouvim:2つの完全に独立したtomcatsがあり、それらは2つのログファイルからのものです。私は設定セクションを投稿することができますが、私はそれを複雑に思う。私は、ポートにtelnetで接続できる可能性があるが、Apacheが見つけられない可能性があることにもっと興味があります。それでも、あなたがそれが助けになると思うなら、私は設定につきます。ありがとう! – rjcarr

答えて

4

システムにSELinuxがありますか?試してみることができます:

setenforce 0 

これは、接続するApacheのプロセスを防ぐ可能性があります。また、ファイアウォールルールを確認してください...

+0

I私はあなたの応答を見た前にこれを理解しましたが、まさに正しいものでした。 SELinuxは8009ではなく8009でオープンしました。停電の前に一時的に無効にする必要があると思います。私はSELinuxによって焼き付けられているので、何度もこれを理解しておくべきでした。気になる人には、SELinuxは8008オープンで未使用だったので、私はそれを使用するように切り替えました。 – rjcarr

0

デフォルトでは、8009はselinuxによって開かれていますので、使用するポートをさらに開くことができます。

[goalin @ centos63 logs] $ sudo semanage port -l | grepの8009

http_port_t TCP 80、443、488、8008、8009、8443

[goalinする@ centos63ログ] $ sudoをsemanageポート-a -t http_port_t -p TCP 18009

[goalin @ centos63ログ] $ sudo semanage port -a -t http_port_t -p tcp 28009

[goalin @ centos63 logs] $ sudo semanage port -l | grepの8009

http_port_t TCP 28009、18009、80、443、488、8008、8009、8443

[goalin @のcentos63ログ] $

関連する問題