EatSmartシステム部ブログ

ウェブサイトの開発や運営に関する情報です。

Apache / Tomcatの基本設定と連携

こんにちは、EatSmartの新人エンジニアです。

弊社サービスであるもぐナビの開発に入るにあたり 環境構築を行いました。ApacheTomcatの導入、基本設定について振り返ってみたいと思います。

WEBサーバー:Apache
APサーバー:Tomcat
言語:Java
IDEeclipse

Tomcatの基本設定(eclipseで起動させる)

eclipseからtomcatを起動できるように設定する

ウィンドウ → ビューの表示→ その他
サーバーを選択 → 新規サーバー
参照ボタンからインストールしたディレクトリを指定する
サーバーから追加される
アイコン「起動」「停止」「再起動」が表示される
f:id:eatsmart:20181219180935p:plain

●インストール完了

ブラウザでlocalhost:8080を開きtomcatの画面が表示されればインストールが完了している

tomcatの設定ファイル(context.xml)

コンテキストにはアプリケーション群の動作に必要なJSP,Servlet,HTML,war,画像などが含まれる

tomcatのログを出力させる

アクセスログ
アクセスログはコンテキストに設定されたJSP,サーブレット,HTMLなどのファイルのアクセス状況を表すログ
・サーバーログ

Apache基本設定

●設定ファイルの位置

Apacheに対する設定はhttpd.conf に記述する
インストールしたディレクトリからファイルの位置を確認する

●Servernameの設定

デフォルトでは既に設定されている
コメントアウトを外す
f:id:eatsmart:20181219180337p:plain

上記はローカル環境で動かしたときの例です

●リクエストを受け付けるときのポート番号の設定

Listen 80
Listen 443(HTTPS通信)
f:id:eatsmart:20181219182017p:plain

ポート番号は複数記述できる

●ServerRootの設定

Apacheがインストールされているディレクトリを指定する

●Includeで必要なファイルを取り込む

f:id:eatsmart:20181219182138p:plain

Apacheをサービスとして起動する

f:id:eatsmart:20181219180815p:plain

Apache httpdTomcatを連携する

●ApahceとTomcatを連携させる

インターネットからのリクエストをhttpdで受け付けて、Javaの動的な処理が必要なページの処理はTomcatで実行させる
そのためにAJPというプロトコルを用いて連携させる

AJP(Apache JServ Protcol)とは

AJPとはTomcatと連携させるプロトコルのこと
Apache httpdが受け付けたリクエストをTomcatに連携させるためにこのAJPプロトコルを用いて通信する
mod_proxy_ajpというモジュールをインストールして使用する

Tomcatで確認

Tomcatのconfディレクトリにあるserver.xmlファイルに設定が記述されている
f:id:eatsmart:20181220190651p:plain

「ポート8080番で HTTP 1.1 の通信を受け付ける」

f:id:eatsmart:20181220190848p:plain

「ポート8009番で AJP 1.3 の通信を受け付ける」

Apache httpdの設定

Apahce httpd の設定を行い連携させる
mod_proxy_ajp と mod_proxyを読み込ませるためにコメントアウトを外し、有効にする

次にどのパスにアクセスされた場合にTomcatと連携するのかを設定する
f:id:eatsmart:20181221093646p:plain

●最後にApacheTomcatを再起動して設定を反映させる