Javaアプリケーションサーバー構築(Tomcat9)

最終更新日: 2019.07.12

■概要

TomcatでJavaアプリケーションサーバーを構築する。

Webサーバーが構築済であること


■JDKインストール

[root@centos ~]# wget https://download.java.net/java/GA/jdk12.0.1/69cfe15208a647278a19ef0990eea691/12/GPL/openjdk-12.0.1_linux-x64_bin.tar.gz ← JDKダウンロード
※最新版のURLはダウンロードページで確認すること

[root@centos ~]# tar zxvf openjdk-12.0.1_linux-x64_bin.tar.gz ← JDK展開

[root@centos ~]# mv jdk-12.0.1/ /opt/ ← JDK展開先ディレクトリを移動

[root@centos ~]# rm -f openjdk-12.0.1_linux-x64_bin.tar.gz ← ダウンロードしたファイルを削除

[root@centos ~]# alternatives --install /usr/bin/java java /opt/jdk-12.0.1/bin/java 1

[root@centos ~]# alternatives --install /usr/bin/jar jar /opt/jdk-12.0.1/bin/jar 1

[root@centos ~]# alternatives --install /usr/bin/javac javac /opt/jdk-12.0.1/bin/javac 1

[root@centos ~]# java -version ← JDKバージョン確認(JDKインストール確認)
openjdk version "12.0.1" 2019-04-16
OpenJDK Runtime Environment (build 12.0.1+12)
OpenJDK 64-Bit Server VM (build 12.0.1+12, mixed mode, sharing)

■Tomcatインストール

[root@centos ~]# wget http://ftp.riken.jp/net/apache/tomcat/tomcat-9/v9.0.20/bin/apache-tomcat-9.0.20.tar.gz ← Tomcatダウンロード
※最新版のURLはダウンロードページで確認すること

[root@centos ~]# tar zxvf apache-tomcat-9.0.20.tar.gz ← Tomcat展開

[root@centos ~]# mv apache-tomcat-9.0.20 /usr/local/ ← Tomcat展開先ディレクトリを移動

[root@centos ~]# rm -f apache-tomcat-9.0.20.tar.gz ← ダウンロードしたファイルを削除

■Tomcat設定

[root@centos ~]# vi /etc/sysconfig/tomcat ← Tomcat環境変数定義ファイル作成
JAVA_HOME=/opt/jdk-12.0.1
CATALINA_HOME=/usr/local/apache-tomcat-9.0.20
CATALINA_PID=/var/run/catalina.pid

[root@centos ~]# source /etc/sysconfig/tomcat ← Tomcat環境変数読み込み

[root@centos ~]# vi /etc/cron.daily/tomcat ← Tomcatログクリアスクリプト作成
#!/bin/bash
# 30日以前のログを削除
source /etc/profile.d/tomcat.sh
find $CATALINA_HOME/logs -name '*.out' -mtime +30 -delete
find $CATALINA_HOME/logs -name '*.log' -mtime +30 -delete
find $CATALINA_HOME/logs -name '*.txt' -mtime +30 -delete

[root@centos ~]# chmod +x /etc/cron.daily/tomcat ← Tomcatログクリアスクリプトに実行権限付加

[root@centos ~]# vi $CATALINA_HOME/bin/catalina.sh ← Tomcat起動スクリプト編集
  #touch "$CATALINA_OUT" ← 行頭に#を追加してコメントアウト

      org.apache.catalina.startup.Bootstrap "$@" start \
      "2>&1" \| /usr/sbin/rotatelogs \"$CATALINA_BASE\"/logs/catalina.%Y-%m-%d.out 86400 540 "&" ← 追加(outログを日毎にログローテーションする)
      #>> "$CATALINA_OUT" 2>&1 "&" ← 行頭に#を追加してコメントアウト

      org.apache.catalina.startup.Bootstrap "$@" start \
      "2>&1" \| /usr/sbin/rotatelogs \"$CATALINA_BASE\"/logs/catalina.%Y-%m-%d.out 86400 540 "&" ← 追加(outログを日毎にログローテーションする)
      #>> "$CATALINA_OUT" 2>&1 "&" ← 行頭に#を追加してコメントアウト

■Tomcat起動

[root@centos ~]# vi /etc/systemd/system/tomcat.service ← Tomcat起動スクリプト作成
[Unit]
Description=Apache Tomcat Servlet Container
After=syslog.target network.target

[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/tomcat
PIDFile=/var/run/catalina.pid
ExecStart=/bin/bash -c "${CATALINA_HOME}/bin/startup.sh"
ExecStop=/bin/bash -c "${CATALINA_HOME}/bin/shutdown.sh;/usr/bin/tail -f /dev/null --pid=`cat /var/run/catalina.pid`"
KillMode=none

[Install]
WantedBy=multi-user.target

[root@centos ~]# systemctl start tomcat ← Tomcat起動

[root@centos ~]# systemctl enable tomcat ← Tomcat自動起動設定


■Tomcat確認

http://centossrv.com:8080/examples/servlets/にアクセスしてServlet Examples with Codeページが表示されることを確認
http://centossrv.com:8080/examples/jsp/にアクセスしてJSP Samplesページが表示されることを確認

■Apache/Tomcat連携

Apache経由でTomcatへアクセスできるようにする。
http://centossrv.com:8080ではなく、http://tomcat.centossrv.comでTomcatへアクセスできるようにする。

バーチャルホスト設定を参照して、Tomcatサイト(tomcat.centossrv.com)をバーチャルホストとして設定する。
(バーチャルホスト設定条件)
ホスト名 tomcat.centossrv.com
ドキュメントルート /var/www/html/tomcat.centossrv.com

[root@centos ~]# vi /etc/httpd/conf.d/virtualhost-tomcat.centossrv.com.conf ← バーチャルホスト(tomcat.centossrv.com)設定ファイル編集
<VirtualHost *:80>
・
・
・
    ProxyPass / ajp://localhost:8009/ ← 追加(ローカルのTomcatへアクセスを転送)
    ProxyPassReverse / ajp://localhost:8009/ ← 追加(ローカルのTomcatへアクセスを転送)
</VirtualHost>
※以下はWebサーバー間通信内容暗号化を導入している場合のみ
<VirtualHost *:443>
・
・
・
    ProxyPass / ajp://localhost:8009/ ← 追加(ローカルのTomcatへアクセスを転送)
    ProxyPassReverse / ajp://localhost:8009/ ← 追加(ローカルのTomcatへアクセスを転送)
</VirtualHost>

[root@centos ~]# systemctl reload httpd ← Apache設定反映

http://tomcat.centossrv.com/examples/servlets/にアクセスしてServlet Examples with Codeページが表示されることを確認
http://tomcat.centossrv.com/examples/jsp/にアクセスしてJSP Samplesページが表示されることを確認
https://tomcat.centossrv.com/examples/servlets/にアクセスしてServlet Examples with Codeページが表示されることを確認Webサーバー間通信内容暗号化を導入している場合のみ
https://tomcat.centossrv.com/examples/jsp/にアクセスしてJSP Samplesページが表示されることを確認Webサーバー間通信内容暗号化を導入している場合のみ

■examplesページ削除

[root@centos ~]# rm -rf $CATALINA_HOME/webapps/examples/ ← examplesページ削除

http://tomcat.centossrv.com/examples/にアクセスしてエラーページが表示されることを確認

■Tomcat活用

Tomcat活用例として、グループウェアGroupSessionを導入する。

GroupSessionダウンロードページでgsession.warをダウンロード後、WinSCPでサーバーへアップロードする。

[root@centos ~]# systemctl stop tomcat ← Tomcat停止

[root@centos ~]# mv gsession.war $CATALINA_HOME/webapps/ ← gsession.warを所定のディレクトリへ移動

[root@centos ~]# systemctl start tomcat ← Tomcat起動

http://tomcat.centossrv.com/gsessionにアクセスしてGroupSessionページが表示されることを確認※ページが表示されるまで時間がかかる


■関連コンテンツ




▲このページのトップへ戻る

ご自由にリンクしてください(連絡は不要です)
本ページへのご意見・ご要望、誤字・脱字・リンク切れ等のご連絡はこちらからお願いします