10
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ubuntu 14.04 LTSにTomcatを導入する

Posted at

Tomcatとは

Java ServletやJavaServer Pages(JSP)を実行するためのWeb Containerです。
さらに、Tomcatは単独でWebサーバとしても機能することが可能です。
オープンソースのソフトウェアであるため、誰でも自由かつ無償で利用・改変・再配布することが出来ます。

※この図ではWebサーバーも利用していますが、その理由についてはまた後ほど説明します。

補足

  • Java Servlet
    Javaで書かれた、サーバ上でWebページなどを動的に生成したりデータ処理を行うためのプログラムのこと

  • JavaServer Pages(JSP)
    HTML内にJavaのコードを埋め込んでおき、Web Serverで動的にWebページを生成してクライアントに返すプログラムのこと

開発環境

  • Ubuntu 14.04 LTS
  • Tomcat 8.0.33
  • JDK 1.8.0
  • Apache 2.4.7

必要なソフトウェアをインストール

JDKをインストール

root@vagrant-ubuntu-trusty-64:/# curl -LO -H "Cookie: oraclelicense=accept-securebackup-cookie" \
"http://download.oracle.com/otn-pub/java/jdk/8u77-b03/jdk-8u77-linux-x64.tar.gz"
root@vagrant-ubuntu-trusty-64:/# tar zxvf jdk-8u77-linux-x64.tar.gz
root@vagrant-ubuntu-trusty-64:/# mkdir /usr/java
root@vagrant-ubuntu-trusty-64:/# mv jdk1.8.0_77 /usr/java/jdk1.8.0_77
root@vagrant-ubuntu-trusty-64:/# vi /etc/profile

# 最終行に追記
export JAVA_HOME=/usr/java/jdk1.8.0_77
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

root@vagrant-ubuntu-trusty-64:/# source /etc/profile

Tomcatをインストール

root@vagrant-ubuntu-trusty-64:/# curl -O http://ftp.jaist.ac.jp/pub/apache/tomcat/tomcat-8/v8.0.33/bin/apache-tomcat-8.0.33.tar.gz
root@vagrant-ubuntu-trusty-64:/# tar zxvf apache-tomcat-8.0.33.tar.gz
root@vagrant-ubuntu-trusty-64:/# mv apache-tomcat-8.0.33 /opt/tomcat8
root@vagrant-ubuntu-trusty-64:/# chown -R tomcat8 /opt/tomcat8

環境変数の設定(省略可能)

Tomcatには環境変数があり、ルート・ディレクトリや、インスタンス、JDKのディレクトリを指定することが出来ます。

CATALINA_HOME

インストールされたTomcatのルートディレクトリを指定する。指定がない場合はTomcatの起動スクリプト(catalina.sh)の親ディレクトリが設定される。

CATALINA_BASE (option)

Tomcatのインスタンスのディレクトリ。指定がない場合は、CATALINA_HOMEとなる。

JAVA_HOME

JDKのホームディレクトリ

指定方法は、こちらの記事が参考になるかと思います。

Tomcatの起動、停止

起動

root@vagrant-ubuntu-trusty-64:/# /opt/tomcat8/bin/startup.sh
Using CATALINA_BASE:   /opt/tomcat8
Using CATALINA_HOME:   /opt/tomcat8
Using CATALINA_TMPDIR: /opt/tomcat8/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_71
Using CLASSPATH:       /opt/tomcat8/bin/bootstrap.jar:/opt/tomcat8/bin/tomcat-juli.jar
Tomcat started.

あとは、http://ID_ADDRESS:8080にアクセス
以下の画面が表示されれば、成功

停止

root@vagrant-ubuntu-trusty-64:/# /opt/tomcat8/bin/shutdown.sh
Using CATALINA_BASE:   /opt/tomcat8
Using CATALINA_HOME:   /opt/tomcat8
Using CATALINA_TMPDIR: /opt/tomcat8/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_71
Using CLASSPATH:       /opt/tomcat8/bin/bootstrap.jar:/opt/tomcat8/bin/tomcat-juli.jar

バージョン確認

root@vagrant-ubuntu-trusty-64:/# /opt/tomcat8/bin/version.sh
Using CATALINA_BASE:   /opt/tomcat8
Using CATALINA_HOME:   /opt/tomcat8
Using CATALINA_TMPDIR: /opt/tomcat8/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_71
Using CLASSPATH:       /opt/tomcat8/bin/bootstrap.jar:/opt/tomcat8/bin/tomcat-juli.jar
Server version: Apache Tomcat/8.0.33
Server built:   Mar 18 2016 20:31:49 UTC
Server number:  8.0.33.0
OS Name:        Linux
OS Version:     3.13.0-85-generic
Architecture:   amd64
JVM Version:    1.8.0_71-b15
JVM Vendor:     Oracle Corporation

Apache(Web server)と連携する

なぜ連携するのか?

Tomcatは一応、Webサーバーとして機能することが出来ます。
ですが、静的なコンテンツの処理が遅い(js,css,jpg 等)ため、静的なコンテンツはより高速なWebサーバーが処理し、動的コンテンツのみをtomcatが処理する方式を取るケースが多いです。

その他には、ApacheなどのWebサーバを1台置いて、Tomcatが搭載されたサーバー(インスタンス)を複数台立てるというようなスケーリングを行うこともWebサーバと連携させる使い方もあります。

連携方法

Apacheのインストール

root@vagrant-ubuntu-trusty-64:/# apt-get install apache2

AJPモジュールを有効化
※ AJPモジュール : Webサーバと相互にやりとりするためのプロトコル,デフォルトのポートは8009

root@vagrant-ubuntu-trusty-64:/#  a2enmod proxy_ajp
root@vagrant-ubuntu-trusty-64:/# service apache2 restart
root@vagrant-ubuntu-trusty-64:/home/vagrant# vi /etc/apache2/conf-enabled/proxy_ajp.conf

# 追加
ProxyPass /tomcat8/ ajp://IP-ADDRESS:8009/

root@vagrant-ubuntu-trusty-64:/#  a2enmod proxy_ajp
root@vagrant-ubuntu-trusty-64:/# service apache2 restart

あとは、http://ID_ADDRESS/tomcat8/にアクセス
以下の画面が表示されれば、Apache経由でTomcatにアクセス出来ているので成功

参考資料

UbuntuにおけるTomcatの覚え書き

Tomcat 8 : JAVAアプリケーションサーバー

Why use Apache Web Server in front of Glassfish or Tomcat?

10
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
13

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?