Tomcat再起動コマンド完全ガイド【Linux/Windows/systemctl対応】

Apache Tomcatを運用していると、設定変更メモリ不足エラー発生などの理由で
Tomcatの再起動が必要になる場面があります。
誤った手順で再起動を行うと、サービス停止やデータ損失につながる可能性があるため、
正しい再起動方法を理解しておくことが重要です。

本記事では、Linux・Windows環境における
Tomcatの再起動コマンドを、systemctl、catalina.sh、Windowsサービスなど、環境別にわかりやすく解説します。

目次

Tomcatの再起動手順(基本)

Tomcatの停止(stop)

Linux環境では以下のコマンドでTomcatを停止できます。

sudo systemctl stop tomcat
sudo /etc/init.d/tomcat stop

Tomcatの起動(start)

停止後、次のコマンドでTomcatを起動します。

sudo systemctl start tomcat
sudo /etc/init.d/tomcat start

Tomcatの自動起動設定

サーバー起動時にTomcatを自動起動させる場合は以下を実行します。

sudo systemctl enable tomcat

Tomcatのログ確認方法

再起動後は必ずログを確認し、エラーがないかチェックしましょう。

sudo journalctl -u tomcat
sudo cat /var/log/tomcat/catalina.out

Tomcatのバージョン確認

sudo /usr/share/tomcat/bin/version.sh
sudo tomcat --version

systemctlでTomcatを再起動する【推奨方法】

systemdを利用している現代のLinux環境では、systemctlコマンドが最も推奨される方法です。

基本的な再起動コマンド

以下のコマンドでTomcatを一括で再起動できます。

sudo systemctl restart tomcat

systemctlでのステータス確認

再起動後は必ず状態を確認しましょう。

sudo systemctl status tomcat

systemctlでTomcatが起動しない場合の対処法

再起動に失敗した場合は、詳細なログを確認します。

sudo journalctl -xe -u tomcat

systemctl vs service コマンドの違い

項目systemctlservice
推奨度◎ 最新の標準△ 旧式(互換性維持)
対応OSsystemd採用OSSysVinit系
ログ管理journalctl統合個別ログファイル

LinuxでTomcat Restartを実行する方法(How to Restart Tomcat on Linux)

Linux環境でのTomcat再起動には、主に3つの方法があります。

方法1: systemctlコマンド(推奨)

最も推奨される方法です。systemdを使用している環境で利用できます。

sudo systemctl restart tomcat

方法2: serviceコマンド

旧式のSysVinit環境で使用します。

sudo service tomcat restart

方法3: catalina.shスクリプト

Tomcatのインストールディレクトリから直接実行する方法です。

cd /opt/tomcat
./bin/catalina.sh stop
./bin/catalina.sh start

または

./bin/shutdown.sh
./bin/startup.sh

restart tomcat service Linuxでの注意点

  • 実行ユーザーの権限を確認(通常はsudo必要)
  • ポート8080が使用中でないか確認
  • Java環境変数(JAVA_HOME)が正しく設定されているか確認

WindowsでTomcatを再起動する方法

WindowsではTomcatはWindowsサービスとして動作します。

GUIから再起動する方法

  1. Windowsキー + Rを押す
  2. services.msc」と入力してEnter
  3. Apache Tomcat」サービスを探す
  4. 右クリックして「再起動」を選択

コマンドプロンプトから再起動する方法

管理者権限でコマンドプロンプトを開き、以下を実行:

net stop Tomcat9
net start Tomcat9

または一括で:

net stop Tomcat9 && net start Tomcat9

注意:サービス名「Tomcat9」の部分は、インストールしたTomcatのバージョンにより異なります(Tomcat8、Tomcat10など)。

PowerShellから再起動する方法

Restart-Service Tomcat9

catalina.bat を使った再起動(Windows)

Tomcatインストールディレクトリで実行:

cd C:\Program Files\Apache Software Foundation\Tomcat 9.0
bin\catalina.bat stop
bin\catalina.bat start

Windows環境での確認方法

再起動後、ブラウザで確認:

http://localhost:8080

ApacheとTomcatを再起動する正しい順番

Apache HTTP ServerとTomcatを連携している場合、
再起動の順番は非常に重要です。

推奨される再起動順序

  1. Tomcatを停止・再起動
  2. Apacheを再起動

Tomcatが先に起動していないと、Apacheがバックエンドに接続できず
エラーの原因になります。

正しい再起動スクリプト例

#!/bin/bash
# Tomcatを先に再起動
sudo systemctl restart tomcat
sleep 10  # Tomcatの起動完了を待つ

# Apacheを再起動
sudo systemctl restart apache2

再起動作業の自動化

cron、シェルスクリプト、Ansibleなどを利用することで、
Tomcat・Apacheの再起動作業を自動化できます。

Apache Tomcatの起動・停止・再起動コマンド一覧

Linuxコマンド一覧

コマンド説明対応環境
systemctl restart tomcatTomcatを再起動systemd
systemctl stop tomcatTomcatを停止systemd
systemctl start tomcatTomcatを起動systemd
systemctl status tomcatステータス確認systemd
service tomcat restartTomcatを再起動SysVinit
./bin/catalina.sh restartTomcatを再起動全Linux

Windowsコマンド一覧

コマンド説明
net stop tomcatTomcatを停止
net start tomcatTomcatを起動
Restart-Service Tomcat9PowerShellで再起動
catalina.bat stopバッチファイルで停止
catalina.bat startバッチファイルで起動

トラブルシューティング

Tomcatが停止処理中で終わらない場合

プロセスを確認し、必要に応じて強制終了します。

ps aux | grep tomcat
kill -9 [PID]

Windows環境の場合:

tasklist | findstr tomcat
taskkill /F /PID [PID]

ポート8080が既に使用されている場合

使用中のポートを確認:

# Linux
sudo netstat -tulpn | grep 8080
sudo lsof -i :8080

# Windows
netstat -ano | findstr :8080

再起動後にTomcatが起動しない場合

  1. ログを確認
    sudo journalctl -u tomcat -n 50
    tail -f /var/log/tomcat/catalina.out
    
  2. Java環境を確認
    java -version
    echo $JAVA_HOME
    
  3. 権限を確認
    ls -la /opt/tomcat
    

メモリ不足エラーの対処

catalina.shまたはsetenv.shでヒープサイズを増やす:

export CATALINA_OPTS="-Xms512M -Xmx2048M"

よくある質問(FAQ)

Tomcatの再起動が必要になるのはどんな時ですか?

  • 設定変更(server.xml、context.xml等)
  • メモリリークが発生した時
  • アプリケーションのデプロイ後
  • パフォーマンスが低下した時
  • OSのアップデート後

systemctl restart tomcat と service tomcat restart の違いは?

systemctlは最新のsystemd環境での標準コマンドです。serviceは旧式のSysVinit互換コマンドで、内部的にはsystemctlを呼び出します。最新のLinuxディストリビューション(CentOS 7以降、Ubuntu 16.04以降)ではsystemctlの使用を推奨します。

Windowsでtomcat restart serviceはどうすればいいですか?

Windowsでは「net restart」コマンドは存在しないため、以下のように停止と起動を分けて実行します:

net stop Tomcat9 && net start Tomcat9

再起動後に確認すべきポイントは?

  1. サービスステータス: systemctl status tomcat
  2. ポート確認: ポート8080へのアクセス確認
  3. ログチェック: catalina.outにエラーがないか確認
  4. 動作確認: ブラウザで http://localhost:8080 にアクセス

Tomcatが起動しない場合の確認手順は?

以下の順序で確認してください:

  1. ログファイルでエラーメッセージを確認
  2. JAVA_HOME環境変数が正しく設定されているか確認
  3. ポート8080が他のプロセスで使用されていないか確認
  4. Tomcatユーザーの権限が正しいか確認
  5. 十分なメモリが確保されているか確認

catalina.sh と systemctl の違いは何ですか?

catalina.shはTomcat付属のスクリプトで、どの環境でも使用できます。systemctlはシステムレベルでのサービス管理で、自動起動設定やログ管理が統合されています。本番環境ではsystemctlの使用を推奨します。

再起動時にダウンタイムを最小化する方法は?

  • ロードバランサーを使用したローリング再起動
  • 複数のTomcatインスタンスを用意
  • メンテナンスウィンドウの設定
  • graceful shutdownの設定
Anzai Hotaka

10 年の経験を持つコンピュータ エンジニア。Linux コンピュータ システム管理者、Web プログラマー、システム エンジニア。