java

Tomcat9をCentOS7&OpenJDK11で起動

投稿日:2019年7月24日

CentOS 7.6にOpenJDK 11を以下の記事で入れている状態です。

Tomcat9の最新版を確認

Apache Tomcat公式ページ「Binary Distributions」→「Core」からtar.gz版のリンクをコピー。
https://tomcat.apache.org/download-90.cgi

2019/07時点で9.0.22が最新でした。

tar.gzをダウンロードして解凍

/optに解凍するので予めcd /optしておきます。前項でコピーしたtar.gzのURLからwgetでダウンロードします。

wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.22/bin/apache-tomcat-9.0.22.tar.gz

[root@spock opt]# wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.22/bin/apache-tomcat-9.0.22.tar.gz
--2019-07-20 21:11:26--  https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.22/bin/apache-tomcat-9.0.22.tar.gz
www-eu.apache.org (www-eu.apache.org) をDNSに問いあわせています... 2a01:4f9:2a:185f::2, 95.216.24.32
www-eu.apache.org (www-eu.apache.org)|2a01:4f9:2a:185f::2|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 10929702 (10M) [application/x-gzip]
`apache-tomcat-9.0.22.tar.gz' に保存中

100%[==================================================================================================>] 10,929,702  3.84MB/s 時間 2.7s

2019-07-20 21:11:30 (3.84 MB/s) - `apache-tomcat-9.0.22.tar.gz' へ保存完了 [10929702/10929702]

[root@spock opt]# ls
apache-tomcat-9.0.22.tar.gz

[root@spock opt]# tar xzvf apache-tomcat-9.0.22.tar.gz
apache-tomcat-9.0.22  apache-tomcat-9.0.22.tar.gz

所有者をtomcatユーザに変更

Tomcatを起動するtomcatユーザを作り、Tomcat関連資源全ファイルの所有者にします。

[root@spock opt]# useradd -s /sbin/nologin tomcat
[root@spock opt]# chown -R tomcat:tomcat ./apache-tomcat-9.0.22
[root@spock opt]# ls -l
合計 10680
drwxr-xr-x.  9 tomcat tomcat      220  7月 20 21:14 apache-tomcat-9.0.22
-rw-r--r--.  1 root   root   10929702  7月  5 00:38 apache-tomcat-9.0.22.tar.gz

systemdのサービス定義ファイルを作成

systemctlコマンドでサービス起動する為のファイルを作成します。
vi /etc/systemd/system/tomcat.service。以下の内容を記述して保存。

[Unit]
Description=Apache Tomcat 9
After=network.target

[Service]
User=tomcat
Group=tomcat
Type=oneshot
PIDFile=/opt/apache-tomcat-9.0.22/tomcat.pid
RemainAfterExit=yes
ExecStart=/opt/apache-tomcat-9.0.22/bin/startup.sh
ExecStop=/opt/apache-tomcat-9.0.22/bin/shutdown.sh
ExecReStart=/opt/apache-tomcat-9.0.22/bin/shutdown.sh;/opt/apache-tomcat-9.0.22/in/bstartup.sh

[Install]
WantedBy=multi-user.target

他サービス定義ファイルとパーミッションを揃えておきます。

[root@spock system]# chmod 755 ./tomcat.service

8080ポートを開放

[root@spock system]# firewall-cmd --add-port=8080/tcp --zone=public --permanent
success
[root@spock system]# firewall-cmd --reload
success

Tomcat9起動

systemctl start tomcat。

[root@spock system]# systemctl start tomcat
[root@spock system]# systemctl status tomcat
● tomcat.service - Apache Tomcat 9
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: disabled)
   Active: active (exited) since 土 2019-07-20 21:36:18 JST; 18s ago
  Process: 6287 ExecStart=/opt/apache-tomcat-9.0.22/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 6287 (code=exited, status=0/SUCCESS)
    Tasks: 53
   Memory: 109.7M
   CGroup: /system.slice/tomcat.service
           mq6303 /usr/bin/java -Djava.util.logging.config.file=/opt/apache-tomcat-9.0.22/conf/logging.properties -Djava.util.logging.man...

 7月 20 21:36:18 spock systemd[1]: Starting Apache Tomcat 9...
 7月 20 21:36:18 spock systemd[1]: Started Apache Tomcat 9.

動作確認

ブラウザからhttp://インストールしたCentOSのIP:8080にアクセスしてTomcatトップページが表示されることを確認します。

-java
-

執筆者:

関連記事

ブラウザでRSA暗号化したデータをサーバで復号する(Angular + JSEncrypt、Spring MVC)【前編】

セキュリティ的にクリティカルなデータをクライアントブラウザで暗号化保存するようにしてみます。 通信経路はHTTPSで暗号化されていてもスマホに重要なデータが平文で残っていたら珠に傷です。 目次1 環境 …

Jerseyで開発したRESTで任意リファラからのCORSアクセスを許可する

package jp.hoge.filter; import java.util.Properties; import javax.servlet.http.HttpServletRequest; i …

Spring&JSPの検証環境を作る

2019年現在、オワコン風潮の強いJSPですが使っているプロジェクトもまだまだあり、枯れた技術を好む官公庁系のプロジェクトでは根強いシェアを誇っています。実装検証をする為に環境を作る機会があったりする …

H2 Databaseで生成したSHA256値をJavaで生成したSHA256値と比較してみる

ファイル、サーバ、メモリ、様々な動作形態がとれてプロトタイピングや、配布アプリの組み込みDBとして便利に使えるPure Javaデータベースの「H2」。 h2database.com  2 …

JavaコアAPI数の遷移をChart.jsでグラフ化してみる

chart.jsの試用を兼ねてJavaバージョンが上がるごとに標準搭載されているAPI数がどう変化しているか調べました。 目次1 調査結果2 グラフ化3 不要なAPIは外部化の傾向 調査結果 Orac …

 

shingo.nakanishi
 

東京在勤、1977年生まれ、IT職歴2n年、生涯技術者として楽しく生きることを目指しています。デスマに負けず健康第一。