Tomcat 10をJava 21で動かす

UbuntuにTomcat 10をインストールしJava 21で動かしたいが、まだパッケージでは提供されていないため、手動でインストールする。

前提

Java 21がインストール済みであること。
インストールされていない場合はこちらの記事の「Java 21のインストール」を参照のこと。

$ java -version
openjdk version "21" 2023-09-19 LTS
OpenJDK Runtime Environment Temurin-21+35 (build 21+35-LTS)
OpenJDK 64-Bit Server VM Temurin-21+35 (build 21+35-LTS, mixed mode, sharing)

Tomcat 10のインストール

Apache Tomcatのページがら最新版をダウンロードして解凍する。今後のため、シンボリックリンクも作成しておく。

$ wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.15/bin/apache-tomcat-10.1.15.tar.gz
$ tar -xvf apache-tomcat-10.1.15.tar.gz
$ sudo ln -s /opt/apache-tomcat-10.1.15 /opt/tomcat-10

Tomcat 10用の実行ユーザーを作成する。

$ sudo useradd -m -U -d /opt/tomcat-10 -s /bin/false tomcat10

ファイルのオーナーを先ほど作成したユーザーに変更する。

$ sudo chown -R tomcat10: /opt/apache-tomcat-10.1.15

シェルを実行可能にする。

$ sudo sh -c 'chmod +x /opt/tomcat-10/bin/*.sh'

SystemD用のファイルを作成する。

$ sudo vi /usr/lib/systemd/system/tomcat10.service
#
# Systemd unit file for Apache Tomcat
#
[Unit]
Description=Apache Tomcat 10 Web Application Server
After=network.target
[Service]
# Configuration
Environment="JAVA_HOME=/opt/jdk-21"
Environment="JAVA_OPTS=-Djava.awt.headless=true"
Environment="CATALINA_BASE=/opt/tomcat-10"
Environment="CATALINA_HOME=/opt/tomcat-10"
Environment="CATALINA_OPTS=-Xms128m -Xmx1024m -server"
Environment="CATALINA_PID=/opt/tomcat-10/temp/tomcat.pid"
# Lifecycle
Type=forking
ExecStart=/opt/tomcat-10/bin/startup.sh
ExecStop=/opt/tomcat-10/bin/shutdown.sh
Restart=always
PIDFile=/opt/tomcat-10/temp/tomcat.pid
# Logging
SyslogIdentifier=tomcat10
# Security
User=tomcat10
Group=tomcat10
[Install]
WantedBy=multi-user.target

SystemDの設定ファイルを再読み込みする。

$ sudo systemctl daemon-reload

Tomcat 10を有効にし、起動する。

$ sudo systemctl enable --now tomcat10
Created symlink /etc/systemd/system/multi-user.target.wants/tomcat10.service  /lib/systemd/system/tomcat10.service.

正常起動を確認する。

$ sudo systemctl status tomcat10
 tomcat10.service - Apache Tomcat 10 Web Application Server
     Loaded: loaded (/lib/systemd/system/tomcat10.service; enabled; vendor pres>
     Active: active (running) since Wed 2023-10-25 05:58:29 UTC; 6s ago
    Process: 12815 ExecStart=/opt/tomcat-10/bin/startup.sh (code=exited, status>
   Main PID: 12822 (java)
      Tasks: 35 (limit: 18910)
     Memory: 101.2M
        CPU: 6.485s
     CGroup: /system.slice/tomcat10.service
             mq12822 /opt/jdk-21/bin/java -Djava.util.logging.config.file=/opt/>
10月 25 05:58:29 hostname systemd[1]: Starting Apache Tomcat 10 Web Applicati>
10月 25 05:58:29 hostname tomcat10[12815]: Tomcat started.
10月 25 05:58:29 hostname systemd[1]: Started Apache Tomcat 10 Web Applicatio>

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください