ApacheとTomcatとの連携設定
mod_proxy_ajp向けの設定ですが、tomcat-connectors(mod_jk)を使ってた頃に比べ、簡単に行なえます。
またtomcat-connectors(mod_jk)で設定していた workers.properties の設定は不要になりました。
httpd-proxy.confファイルは自動では作成されないので、手動で作成します。以下の例は、/servlets-examples/以下のファイルもしくはディレクトリにアクセスした場合は、ajpというプロトコルを使用して、8009番ポートでTomcatへリクエストへ送ります。
# cat /usr/local/apache2/conf/extra/httpd-proxy.conf <Location /servlets-examples/> ProxyPass ajp://localhost:8009/servlets-examples/ </Location>
上記の設定ファイルをIncludeするように httpd.conf に以下を追記します。
# for tomcat-connector by mod_proxy_ajp Include conf/extra/httpd-proxy.conf
念のため、 $TOMCAT_HOME/conf/server.xml に以下のようなAJPプロトコル、8009番ポートでコネクションの待ち受けが定義されていることを確認して下さい。*1
<!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
※注意※
$TOMCAT_HOME は、Tomcatをインストールしたディレクトリになります。
また今の設定のままでは、Tomcatのデフォルトのポート8080へアクセスできてしまうので、それができないようにしておきます。
# diff -b /usr/local/tomcat/conf/server.xml /usr/local/tomcat/conf/server.xml.orig 77c77 < <!-- Connector port="8080" maxHttpHeaderSize="8192" --- > <Connector port="8080" maxHttpHeaderSize="8192" 80c80 < connectionTimeout="20000" disableUploadTimeout="true" / --> --- > connectionTimeout="20000" disableUploadTimeout="true" />
# /etc/init.d/tomcat start Starting tomcat: Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /usr/local/tomcat/temp Using JRE_HOME: /usr/local/java # /etc/init.d/apache2 start
動作確認
以下の内容について確認します。
- http://localhost/servlets-examples/ へのアクセスができ、正しくサーブレットサンプルが動作するか?
- http://localhost:8080/servlets-examples/ へのアクセスができないようになっているか?