• 締切済み

Apacheと連携した場合のTomcat、server.xml設定

現在Apache、Tomcatをmod_jk2で連携しwebサーバを構築しております。 そこでチューニングについて、色々と調べているのですが、 Apache単体のチューニングサイトは良く見かけるのですが、 Tomcatと連携した場合のチューニング例(質問内容が解決するような)がなかなか見つからず困っております。 以下の問題に参考になるサイト、あるいわアドバイスがあればご教授お願い致します。 ■以下環境設定等 ※Apache設定 バージョン2.0.59 httpd.conf設定 ****************************************** Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 <IfModule prefork.c> StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 250 MaxRequestsPerChild 0 </IfModule> ******************************************* ※Tomcat設定 バージョン5.0.28 server.xml設定 ******************************************* <!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 --> <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" /> <!-- Note : To disable connection timeouts, set connectionTimeout value to 0 --> <!-- Note : To use gzip compression you could set the following properties : compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, traviata" compressableMimeType="text/html,text/xml" --> <!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 --> <!-- <Connector port="8443" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="100" debug="0" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" /> --> <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 --> <Connector port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" /> ******************************************* ■疑問点 1.Apache、Tomcatを連携する際の使用ポートは8009となっているが、 Tomcat側の8009設定には情報が載っていなのは正常なのか。 ApacheとTomcatのコネクション設定を最適化したいと思い いろいろ検証しているのですが、Apacheのhttpd.confの設定を見てる気がしてならないです…。。 2.いろんなサイトを見ているとApacheと連携した際は、 Tomcatの8080ポートを使わない設定にしている所が非常に多いです。 8080ポートを使わないからセキュリティ上消すのは分かるのですが、 何か他にも特別な理由等あるのでしょうか? 例えば、80ポート、8080ポートと両方で受け付けていると動作がおかしくなるや、メモリを余計に食うなど。 以上、長くなりましたが些細な点でもいいのですので、ご教授お願い致します。

みんなの回答

  • entree
  • ベストアンサー率55% (405/735)
回答No.1

> 1.Apache、Tomcatを連携する際の使用ポートは8009となっているが、 > Tomcat側の8009設定には情報が載っていなのは正常なのか。 > ApacheとTomcatのコネクション設定を最適化したいと思い > いろいろ検証しているのですが、Apacheのhttpd.confの設定を見てる気 > がしてならないです…。。 <Connector port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" /> まさしくこの部分だと思いますけど。ちなみに、Apache 側は workers2.properties で設定します (ファイル名はソースコードにハードコードされています)。 > 2.いろんなサイトを見ているとApacheと連携した際は、 > Tomcatの8080ポートを使わない設定にしている所が非常に多いです。 > 8080ポートを使わないからセキュリティ上消すのは分かるのですが、 > 何か他にも特別な理由等あるのでしょうか? > 例えば、80ポート、8080ポートと両方で受け付けていると動作がおかし > くなるや、メモリを余計に食うなど。 それはないでしょうが、使わないものは閉じる、これはセキュリティ向上のための鉄則だと思います。それが Well Known Port の 80 版であるならなおさらです。

関連するQ&A

  • Tomcat7 server.xml書き方

    初めてHTTPS 8443にてWindowsServer2012R2の設定をしています。 Tomcat7 の conf内のserver.xmlの中に下記内容を記入しましたが、caterina.logで見るとinitializeに失敗しているみたいです。 aptachのサイトを参考にしてみたのですが、どこが間違えているのか分かりません。 RSAの .keystore はユーザーフォルダーの直下に配置しています _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ <Connector port="8080" redirectPort="8443" connectionTimeout="20000" protocol="HTTP/1.1"/> <!-- A "Connector" using the shared thread pool --> <Connector port="8080" redirectPort="8443" connectionTimeout="20000" protocol="HTTP/1.1" executor="tomcatThreadPool"/> <!-- Define a SSL HTTP/1.1 Connector on port 8443 This connector uses the JSSE configuration, when using APR, the connector should be using the OpenSSL style configuration described in the APR documentation --> <Connector port="8443" protocol="org.apache.coyote.Http11 .Http11NioProtocal" sslProtocol="TLS" clientAuth="false" keystorePass="changeit" keystoreFile="{user}/.keysore" SSLEnabled="true" secure="true" scheme="https" maxThreads="150"/>

  • tomcat apache の連携ができていないのでしょうか

    いつもお世話になっております。 質問させていただきます。 以下の手順でapacheとtomcatを連携させました。 1. mod_jk2.soをAPACHE_HOME\modulesへコピーする。 2. mod_jk2.conf.sample,workers2.properties.sampleを APACHE_HOME\confへコピーしそれぞれ、mod_jk2.conf、 workers2.propertiesとリネームする 3. APACHE_HOME\conf\httpd.confの最後に 「Include conf/mod_jk2.conf」と記入する。 4. TOMCAT_HOME/conf/server.xmlの <Connector acceptCount="100" connectionTimeout="2000" disableUploadTimeout="true" port="8080" redirectPort="8443" maxSpareThreads="75" maxThreads="150" minSpareThreads="25"> </Connector> の部分をコメント化する。 5. tomcat,apacheの順に起動する。 そして、「http://localhost/」にアクセスすると 正しく「あなたの予想に反して、 このページが見えているでしょうか?」 のページが表示されるのですが、 「http://localhost/"コンテキスト名"/test.jsp」 アクセスしようとすると 「ページを表示できません。」と表示されてしまいます。 連携がうまくいってないのでしょうか? どなたか原因、解決方法を教えていただけないでしょうか よろしくお願いします。 ---------------------- 環境 Apache HTTP Server 2.0.58 Apache Tomcat 5.0

  • apache2.2とtomcat6.0(ssl設定済)の連携に関して質

    apache2.2とtomcat6.0(ssl設定済)の連携に関して質問です。 環境(windows 2003 server,JDK1.6,eclipse3.5,struts1.3,postgresql8.4) apacheを使用して公開したいのですが、tomcatのssl設定が絡んでいる関係でうまくいきません。 tomcatでsslを設定せず、apacheでsslを設定した方が良いのか。 tomcatとapache両方でssl設定をした方が良いのか。 tomcatでsslを設定しているとapache2.2とtomcat6.0の連携はできないのか。 または、やり方が違うのか。 教えてください。 tomcat(ssl設定済)をapacheに連携したいのですが、Apache2.0以前の時と異なり、mod_jk/mod_jk2は要らなくなったみたいなので、インターネットを調べた結果 ■server.conf <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> をコメント <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> を追加 ■httpd.conf #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so コメントを解除 <Location /jsp/> ProxyPass ajp://localhost:8009/jsp> </Location>

    • ベストアンサー
    • Java
  • ApacheとTomcat連携後DocumentRootはどう設定しますか?

    Apache,Tomcatをmod_jk2で連携できたのですが、 /usr/local/tomcat4/webapps/test/index.jsp のページをhttp://www.***.com/test/ではなく、 http://www.***.com/で表示したいのですが、 どこで設定すればよいでしょうか? 以外にこれについて書かれているサイトがなく困っています。 server.xmlに以下を書いてTomcat,Apacheを再起動しても駄目でした。 <Context path="" docBase="test" debug="0" reloadable="true"/> なので、Apacheで設定するのかと思いhttpd.confに 以下を書いてみましたが駄目でした。 <IfModule mod_alias.c> Alias / "/usr/local/tomcat4/webapps/test" <Directory "/usr/local/tomcat4/webapps/test"> Options FollowSymLinks MultiViews </Directory> 環境はRedHat9です。よろしくおねがいします。

    • ベストアンサー
    • Java
  • Red5とApacheの連携

    Red5とApacheを連携モジュールにより連携しようと思っています。 TomcatとApacheの連携をRed5とApacheで行おうとしています。やりたい事は、 http://aaaaa.com/red5 でアクセスしたときに http://aaaaa.com:5080/ に連携したいのです(aaaaa.comは適当)。 実行環境は以下の通りです。 ・CentOS release 5.2 ・Apache 2.2.3 ・ant 1.6.5(yumによりインストール) ・jdk1.6.0 ・Red5 0.6 設定後に http://aaaaa.com:5080/ でred5のトップページは見えました。 httpd.confに --- LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so --- を加え(最初から入っていた)、連携ポイントとして --- <Location /red5> ProxyPass ajp://localhost:5080/ </Location> --- を加えました。 Tomcat設定(server.xml)の --- <!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> --- にあたる部分がわかりませんでしたが、そのまま実行しました。 Web表示は、 ---- Service Temporarily Unavailable The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later. ---- です。色々見てみましたが見つかりません。 ご存知の方、ご教授ください。

  • IISとTomcatの連携がうまくいきません。

    お世話になります。 以下のURL等を参考にしてIISとTomcatの連携をしています。 http://stacktrace.jp/java/iis6.0-tomcat4.1.30.html http://d.hatena.ne.jp/pomo123/20080312/1205238173 ブラウザでサンプルページを表示しようとしましたが表示できませんでした。 http://localhost/examples/index.jsp 行った手順を箇条書きで申し訳ありませんが書かせていただきます。 ----------------------------------------------------------------------------- 1.SDK(Java)をインストール  j2sdk-1_4_2_04-windows-i586-p.exe 2.環境変数(JAVA_HOME)を追加 3.Tomcatをインストール  jakarta-tomcat-4.1.30.exe 4.TomcatのBinフォルダにコピー(install4iis.js, isapi_redirector2.dll)  jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip 5.TomcatのConfフォルダにコピー(workers2.properties.sample) 6.workers2.propertiesに名前を変更 7.workers2.propertiesを修正 [変更前]  group=lb   ↓ [変更後]  #group=lb 8.install4iis.jsを修正 [変更前]  _DEFAULT_SERVER_NAME = "Default Web Site";             ↓ [変更後]  _DEFAULT_SERVER_NAME = "既定の Web サイト"; 9.コマンドプロンプトでinstall4iis.jsを実行  >cscript install4iis.js 10.server.xmlを修正 [変更前]  <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"   port="8080"   minProcessors="5" maxProcessors="75"   enableLookups="true" redirectPort="8443"   acceptCount="100" debug="0" connectionTimeout="20000"   useURIValidationHack="false" disableUploadTimeout="true" />             ↓ [変更後] <!--  <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"   port="8080"   minProcessors="5" maxProcessors="75"   enableLookups="true" redirectPort="8443"   acceptCount="100" debug="0" connectionTimeout="20000"   useURIValidationHack="false" disableUploadTimeout="true" /> --> 11.Webサイトのプロパティで「ISAPIフィルタ」に追加 12.Tomcatを再起動 13.IISを再起動 14.サンプルページ(index.jsp)をexamplesフォルダに作成  <html><body>test <%= new java.util.Date() %></body></html> 環境は以下の通りです。 Windows XP Professional IIS 5.1 どうかアドバイスいただけませんでしょうか? 宜しくお願いします。

  • ApacheとTomcatの連携が出来ない

    Apacheのドキュメントルートフォルダ内でPHPとPerlが動くよう設定しています。今回、さらにJSPも動かせるようにTomcatを導入し、Apacheとの連携を試みたのですが、どうしても解決できない問題に躓いてしまいました。 http://journal.mycom.co.jp/special/2007/tomcat6/007.html 上記のサイトのように設定したのですが、まったくうまくいきません。 コメントアウトも外しましたし、リダイレクトの設定もしましたが、http://localhost/リダイレクト先/でアクセスすると404エラーが出ます。:8080とTomcatのデフォルトポート番号を足すとアクセス出来るので、リダイレクトが出来ていないようです。が、サイトに載っている作業は全部やったので自分ではお手上げ状態です。なにがいけないのでしょうか??? 環境は OS: Windows XP Apache: v2.2.4 Tomcat: v6.0.13 です。

  • Apache Tomcat の別サーバでの連携

    はじめまして。 griffin99と申します。 Apache Tomcatとの連携方法で困っていますので、 どなたか教えてください。 やりたい事は、ApacheとTomcatをそれぞれ別サーバマシンにインストールして、 連携を取る方法です。 単一のマシンに、ApacheとTomcatをインストールして連携する方法は、 多くのホームページで解説されているのですが、 2台のマシンを使って連携を取る方法がなかなか見つかりません。 mod_jk.dllを利用すればできそうだという所までは なんとか分かってきたのですが、、、 具体的な設定方法や、それを解説したあるホームページがありましたら、 ぜひ教えてください。 よろしくお願いします。 ちなみに環境は、 OS:Windows2000 Apache:Ver1.3.26 Tomcat:Ver3.2.3 です。

  • ApacheにPHPを組み込みつつ、Tomcatを連携

    こんにちは。現在私は自宅のパソコン(WindowsXP)をWWWサーバにしようと考えておりまして、Apache(Ver2.2.4)をインストールし、Tomcat(ver5.5)と連携させております。ApacheからTomcatに連携させることは成功した(はず)と思います。以下のような設定です。confフォルダの中のhttpd.confファイルの中で、 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so を有効にし、 ProxyPass / ajp://localhost:8009/ を追加しました。これで、http://localhost/と入力すると、:8080を付加しなくてもTomcatのトップに跳ぶようにはなっています。これで連携はOKなんですよね?  さらにこれに、PHPをモジュールとして組み込みたいんです。 Tomcatを使わずに、Apacheのみで動かす場合は、うまくphpがモジュールとして組み込めて、Apacheのhtdocsフォルダにphpinfo.phpファイルをおいて、テストすると正常に表示されます。  しかし、Tomcatと連動させると、phpをApacheのモジュールに組み込んでも、Tomcatとの連携が優先されて、Apacheの中身(htdocsフォルダなど)がブラウザで呼び出せないために、phpファイルにアクセスできません。  以上が疑問点ですが、とにかく知りたいのは、Tomcatとの連携とApacheの機能(PHPをモジュールに組みこんで使う)とを両立させるには、どうしたらいいのでしょうか、ということです。どなたか教えてくださいませんか。お願いします!

    • 締切済み
    • PHP
  • tomcatとApacheの連携方法

    tomcatとApacheの連携を入門書を基に作業しているのですが、 Apacheが起動しません。 参考書の連携方法としては、 Apache2.2のhttp.conf内の、LoadModule命令の、proxy_moduleと proxy_ajp_moduleのコメント記号を外し、 最下行に、<Location>ProxyPassajp://localhost:8009</Location> としています。 tomcatのserver.xmlで、8009ポートがAJPに割り当てられています。 この状態で、Apacheを起動しても、エラーになります。  エラー:ローカルコンピューターでApache2を開始できません。 詳細については、イベントログを確認してください。・・・ 解決方法が分からずにおります。 詳しい方がおられましたら教えてください。 よろしくお願いいたします。

    • ベストアンサー
    • Java