CentOSでのApacheとtomcatの連携

Linux
とりあえず今日はこのくらいで
今のところで使うので、備忘録的に

Apacheとtomcatの連携については、色々書いているサイトも多いのですが、自分で環境構築して試したので、備忘録的に残しておきたいと思います。

実際、実機で試さないとイマイチ飲み込みが悪い人なので、実機を触れるようにしました。
ただし、環境はHYPER-V環境で構築しました。

HYPER-Vは割と直感的に触れるのですが、ネットワーク周りは割と不親切で、いまいち分かりにくいのが不満といえば不満ですかね。

結局、仮想NICが物理NICとの共存となるのでそこをどう考えるかと、一旦仮想ルーター挟んでやり取りするかの選択になるのかなぁと思います。

HYPER-Vも情報は多いのですが散らばってる情報が多いので断片をつなぎ合わせていく感じになるのかなぁと思います。

あとは、やっぱり本ですかねぇ。ちょっと古い情報ですが、最初はそれを参考にする感じになるのでしょうかね。

後は、自分の情報集能力をあげるしかない感じですかねぇ。

参考にさせて頂いたサイトはこちら

ApacheとTomcatを連携させてみた - Qiita
ちょっと使いそうな感じだったので、いろいろネット上の記事を見つつ、検証してみた。 --- # 参考にしたサイト

Apacheのインストールを行う。

CentOSは7.5を使用。
基本はyumでインストールします。


# yum install httpd

httpdのサービスを起動
一時的なので、再起動しても起動はしないようにしています。

# systemctl start httpd

firewalldはポートで開放しました。
下記コマンドでfirewalldをポートで開放しています。


# firewall-cmd --add-port 80/tcp
# firewall-cmd --list-all

テストページが表示されることを確認します。
http://<IPADDR>

取り敢えず、今日はここまでで。
明日以降またtomcatとの連携を記載します。


2019年09月28日(土)追記

というわけで、ここから追記のtomcat連携の部分となります。

tomcatのインストール

tomcatのインストールは特に何も考えずにyumでインストールしました。


# yum install tomcat

javaも特に意識せず素でインストールされるOpenJDKを使用します。

取り敢えずの連携テストなので、色々ダウンロードするのが面倒というのもありましたし。

tomcatでのテストページは特にしません。
yumでインストールしてるので、失敗することはまずないかなぁという思いもあって特に心配はしていません。

インストールが終わったらtomcatサービスを起動しておきます。

# systemctl start tomcat

Apacheとtomcatの連携の確認

ということで、Apache側の設定の確認をします。


# cat /etc/httpd/conf.modules.d/00-proxy.conf
----------------
以下の設定が含まれていることを確認します。
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
----------------

参考にしたサイトの通りに/etc/httpd/conf.dディレクトリにサーブレットへのリクエストがあった場合の設定を作成します。

これは、/var/lib/tomcat/webapps/docsにサンプルのファイルあった場合に表示されます。

yumでdocs関係のパッケージをインストールしていると表示されます。
パッケージはtomcat-docs-webappとなります。
サンプル画面が入っているのはtomcat-webappsパッケージとなります。

ここら辺の情報がなくてサンプル画面の表示がされなくて悩みました。


# cat /etc/httpd/conf.d/proxy-ajp.conf
<Location /docs >
  ProxyPass ajp://localhost:8009/docs
  Order allow,deny
  Allow from all
</Location>

tomcat側の設定も行います。
tomcatのconfigファイルはserver.xmlファイルが設定ファイルとなりますので、その部分で、リダイレクトされる設定の確認をします。

Apache側からTomcatのページを表示させるため、8080ポートの設定を無効化する設定も行います。


# cat /opt/apache-tomcat-8.0.44/conf/server.xml
----------------
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
----------------

# cat /opt/apache-tomcat-8.0.44/conf/server.xml
----------------
<!--
<Connector port="8080" protocol="HTTP/1.1"
  connectionTimeout="20000"
  redirectPort="8443" />
-->
----------------

ここまで設定したらApacheのサービスの再起動をします。


# systemctl restart httpd.service

動作確認をします。

設定したURLに接続してtomcatの画面が表示されることを確認します。

http://<IPADDR>/docs/

表示されたら取り敢えず連携されていることは確認できました。

他に必要なサーブレットがでてきたなら、conf.dに記載したファイルに足すことになるのかなとは思います。

取り敢えず、連携の確認ができたので、これで良しとします。

コメント

タイトルとURLをコピーしました