Ubuntu 16.04
 

Tomcat 8 : JAVAアプリケーションサーバー
2016/06/19
 
Tomcat 8 をインストールし、JAVAアプリケーションをサーバーサイドで実行できる環境を構築します。
[1]
[2] Tomcat 8 のインストールと設定です。以下のサイトで最新のものを確認してダウンロードしてください。
⇒ http://ftp.riken.jp/net/apache/tomcat/tomcat-8/
root@dlp:~#
curl -O http://ftp.riken.jp/net/apache/tomcat/tomcat-8/v8.5.3/bin/apache-tomcat-8.5.3.tar.gz

root@dlp:~#
tar zxvf apache-tomcat-8.5.3.tar.gz

root@dlp:~#
mv apache-tomcat-8.5.3 /usr/tomcat8

root@dlp:~#
useradd -M -d /usr/tomcat8 tomcat8

root@dlp:~#
chown -R tomcat8. /usr/tomcat8

# 起動 (停止は shutdown.sh )

root@dlp:~#
su - tomcat8 -c /usr/tomcat8/bin/startup.sh

Using CATALINA_BASE:   /usr/tomcat8
Using CATALINA_HOME:   /usr/tomcat8
Using CATALINA_TMPDIR: /usr/tomcat8/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_91
Using CLASSPATH:       /usr/tomcat8/bin/bootstrap.jar:/usr/tomcat8/bin/tomcat-juli.jar
Tomcat started.
[3] ローカルホスト または 任意のクライアントで Webブラウザを起動し、 「http://(サーバーホスト名またはIPアドレス):8080/」にアクセスして、Tomcat デフォルトページが表示されることを確認します。
[4] 現在の日時を表示するテストサーブレットを作成して動作を確認します。
root@dlp:~#
mkdir /usr/tomcat8/webapps/ROOT/WEB-INF/classes

root@dlp:~#
chown tomcat8. /usr/tomcat8/webapps/ROOT/WEB-INF/classes

root@dlp:~#
cd /usr/tomcat8/webapps/ROOT/WEB-INF/classes

root@dlp:/usr/tomcat8/webapps/ROOT/WEB-INF/classes#
vi daytime.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.Calendar;

public class daytime extends HttpServlet {
    public void doGet(HttpServletRequest request
    ,HttpServletResponse response)

    throws IOException, ServletException{
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        Calendar cal = Calendar.getInstance();
        out.println("<html>\n<head>\n<title>DayTime</title>\n</head>\n<body>");
        out.println("<div style=\"font-size: 40px; text-align: center; font-weight: bold\">");
        out.println(cal.get(Calendar.YEAR) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + 
        cal.get(Calendar.DATE) + " " + cal.get(Calendar.HOUR_OF_DAY) + ":" + cal.get(Calendar.MINUTE));
        out.println("</div>\n</body>\n</html>");
    }
}

root@dlp:/usr/tomcat8/webapps/ROOT/WEB-INF/classes#
javac -classpath /usr/tomcat8/lib/servlet-api.jar daytime.java

root@dlp:/usr/tomcat8/webapps/ROOT/WEB-INF/classes#
vi /usr/tomcat8/webapps/ROOT/WEB-INF/web.xml
# 以下を<web-app> - </web-app>の間の適当なところへ追記

  <servlet>
     <servlet-name>daytime</servlet-name>
     <servlet-class>daytime</servlet-class>
  </servlet>
  <servlet-mapping>
     <servlet-name>daytime</servlet-name>
     <url-pattern>/daytime</url-pattern>
  </servlet-mapping>
[5] 「http://(サーバーのホスト名またはIPアドレス):8080/daytime」にアクセスして、以下のようなページが表示されることを確認します。
[6] Apache http サーバーと連携し、URLに 8080 を指定しなくてもアクセスできるようにする場合は、以下のように設定します。 事前にこちらを参考に Apache http サーバーをインストールして起動しておいてください。
root@dlp:~#
a2enmod proxy_ajp

Considering dependency proxy for proxy_ajp:
Enabling module proxy.
Enabling module proxy_ajp.
To activate the new configuration, you need to run:
service apache2 restart
root@dlp:~#
vi /etc/apache2/conf-available/proxy_ajp.conf
# 新規作成

ProxyPass /tomcat8/ ajp://localhost:8009/
root@dlp:~#
a2enconf proxy_ajp

Enabling conf proxy_ajp.
To activate the new configuration, you need to run:
service apache2 reload
root@dlp:~#
systemctl restart apache2

[7] 「http://(サーバーのホスト名またはIPアドレス)/tomcat8/」にアクセスして、デフォルトページが表示されることを確認します。
 
Tweet