これまで、LinuxサーバーへのApacheとTomcatのインストールと、それらを起動しブラウザでテストページを表示するまでのプロセスをお伝えしてきました。
第3回目となるこの記事では、ApacheとTomcatの連携に焦点を当て、Apacheで受けた通信をTomcatに転送する方法までのプロセスを皆さんに紹介します。
※Apache/Tomcatについてはこちらの記事で設定からブラウザでページを表示までのプロセスを紹介しております。
構成情報
- Red Hat Enterprise Linux 8.7
- Tomcat 9.0.85
- Apache 2.4.6
※今回はAzure上にデプロイした同一のLinuxサーバーにApacheとTomcatをインストールしています。
ApacheとTomcatを連携する目的とは
ApacheとTomcatを連携させる目的は、静的なコンテンツと動的なコンテンツを組み合わせた高度なWebアプリケーションを構築し、Webアプリケーションサーバーとして動作させることです。
Apacheは静的なコンテンツの配信に優れていて、Tomcatは動的なコンテンツの処理に特化しています。両者を連携させることで、Apacheは静的なコンテンツの配信を担当し、Tomcatは動的なコンテンツの処理を担当する、といった形で、それぞれの得意分野を生かしたWebアプリケーションサーバーを構成する事が出来ます。
サーバーの動作確認 その1
Apacheの動作確認
ブラウザを起動し【サーバーのIPアドレス】を入力後に、Apacheのテストページが表示されることを確認します。
Tomcatの動作確認
ブラウザを起動し【サーバーのIPアドレス:8080】を入力後に、Tomcatのテストページが表示されることを確認します。
Apacheの設定変更
httpd.confの設定変更
httpd.confの設定を以下のコマンドで変更を行います。
vi /etc/httpd/conf/httpd.conf
ファイルを開いたら最下部に設定を行います。「http://サーバーのIPアドレス/」へリクエストがあった場合、Tomcat側の「デフォルトページ」が呼び出されるよう次のように設定します。
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
設定の反映
httpd.confに設定を行った後に以下のコマンドを入力し、設定を反映させます。
systemctl restart httpd.service
Tomcatの設定変更
server.xmlの設定変更
server.xmlの設定を変更するために、以下のコマンドを実行します。
vi /opt/apache-tomcat-9.0.85/conf/server.xml
Tomcatのデフォルトポート(ポート番号:8080)が有効になっているので、次の設定をコメントアウトし、無効化します。
デフォルトの設定
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxParameterCount="1000"
/>
設定変更後
<!--
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxParameterCount="1000"
/>
-->
Tomcatのデフォルトポートをコメントアウト後に、ポート番号:8009のコメントアウトを外して有効化します。
デフォルトの設定
<!--
<Connector protocol="AJP/1.3"
address="::1"
port="8009"
redirectPort="8443"
maxParameterCount="1000"
/>
-->
設定変更後
<Connector protocol="AJP/1.3" address="0.0.0.0" port="8009" redirectPort="8443" maxParameterCount="1000" secretRequired="false" />
設定の反映
sever.xmlに行った設定変更を反映させるために、以下のコマンドを入力します。
systemctl restart tomcat.service
サーバーの動作確認 その2
Apacheの動作確認
ブラウザを起動し【サーバーのIPアドレス】を入力後に、Tomcatのテストページが表示されることを確認します。
「サーバーの動作確認 その1」ではサーバーのIPアドレスを入力後に表示されたのはApacheのテストページでしたが、設定変更後はTomcatのテストページが表示されます。
Tomcatの動作確認
ブラウザを起動し【サーバーのIPアドレス:8080】を入力後に、Tomcatのテストページが表示されないこと確認します。
おわりに
3回にわたりApacheとTomcatのインストールから連携に至るまでのプロセスをご紹介しました。
オープンソースであり、いずれも無料で検証することが可能ですので、ぜひ試してみてください。
次回はもっと掘り下げた内容をお届けしたいと考えております。
石黒 允規(日本ビジネスシステムズ株式会社)
ネットワークインテグレーション部に所属しており、主にAzureに関する業務を行っています。 JBS野球部にも所属しており、週末を楽しく過ごしております
担当記事一覧