One IT Thing

IT業界で飯を食う為の学習系雑記

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
-

執筆者:

関連記事

Stripe+Java+Payment Request APIでApple Pay、Google Payを使ったテストWeb決済をしてみる

自分で作ったサービスを運用してチャリンチャリンしたい・・・エンジニアならこんな夢、一度は見たことがあるんじゃないでしょうか。 夢を実現する為、以前Stripeのcheckout.jsを使ったテストWe …

Javascript(暗号化JSライブラリ「Forge」)とp12ファイルで署名値を作成、Javaで検証する

前回、送信データの改ざんを検知する為、簡易的なセキュリティトークンであるPKCS#12形式のファイルを作成しました。  One IT Thing開発用のPKCS#12ファイルをOpenSSL …

IVS対応フォント「IPAmj明朝」で使えるフォントをWeb上に一覧表示してみる(2)

前回の続きです。 One IT ThingIVS対応フォント「IPAmj明朝」で使えるフォントをWeb上に一覧表示してみる(1)https://one-it-thing.com/2098IP …

IVS、サロゲートペアが混じった文字列をJavaのWebアプリでワードカウントする

(結論:java.text.BreakIteratorは「サロゲートペア文字 + IVS」の8バイト文字も1文字としてカウントしてくれる) 先日、IPAmj明朝フォントを使ってIVSを含んだUnico …

Doxygenでspring-frameworkをドキュメント化

以前にspring-frameworkのソースリーディングが出来る環境をOpenGrokで作りました。 One IT ThingOpenGrokをインストールしてソースリーディング環境を作る …

 

shingo.7k24
 

東京在勤、職歴20年越え中年ITエンジニアです。まだ開発現場で頑張っています。

19歳(1996年)から書き始めた個人日記が5,000日を超え、残りの人生は発信をして行きたいと思い、令和元日からこのサイトを開始しました。勉強と試行錯誤をしながら、自分が経験したIT関連情報を投稿しています。

私と同じく、今後IT業界で生計を立てて行きたいと考えている方や、技術共有したいけどフリーランスで孤独、といった方と一緒に成長、知識共有して行けたら楽しいな、と思っています。