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
-

執筆者:

関連記事

IPAmj明朝のttfファイルをJVMに読み込ませてSwingで表示(要Java11)

目次1 はじめに2 Java11でSwingがIVSを認識するようになった3 Java Swingソース4 動作確認4.1 Java 8(1.8.0_202)で実行4.2 Java 11(11.0.2 …

SpringBootアプリにBootstrap4を追加(WebJars使用)

SpringBootにCSSやJSを追加する場合は概ね以下のパターンがあるんじゃないかと思います。(bowerはもう使わない方向で) CDNで外部から読み込む<script src=&#8221 …

Spring&JSPの検証環境を作る

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

JavaとPerlでTCPソケット通信

目次1 はじめに2 対象読者3 実装3.1 TCPサーバ(Perl)3.2 TCPクライアント(Java)3.3 実行4 まとめ はじめに 前回の続きです。One IT ThingJavaとPerlで …

Stripe + Javaでオーソリ(与信の確保)を実装する

Stripeでチャリンチャリン、サービスを開発するエンジニアにとっては夢がありますよね。 例え自分で個人的に売るものが無かったとしても、Web決済システムを構築できるノウハウを持っておけば、公的な仕事 …

 

shingo.nakanishi
 

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