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

Apache Tomcatを運用していると、設定変更、メモリ不足、エラー発生などの理由で
Tomcatの再起動が必要になる場面があります。
誤った手順で再起動を行うと、サービス停止やデータ損失につながる可能性があるため、
正しい再起動方法を理解しておくことが重要です。
本記事では、Linux・Windows環境における
Tomcatの再起動コマンドを、systemctl、catalina.sh、Windowsサービスなど、環境別にわかりやすく解説します。
目次
- Tomcatの再起動手順(基本)
- systemctlでTomcatを再起動する【推奨方法】
- LinuxでTomcat Restartを実行する方法
- WindowsでTomcatを再起動する方法
- ApacheとTomcatを再起動する正しい順番
- コマンド一覧表
- トラブルシューティング
- よくある質問(FAQ)
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 コマンドの違い
| 項目 | systemctl | service |
|---|---|---|
| 推奨度 | ◎ 最新の標準 | △ 旧式(互換性維持) |
| 対応OS | systemd採用OS | SysVinit系 |
| ログ管理 | 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から再起動する方法
- Windowsキー + Rを押す
- 「services.msc」と入力してEnter
- 「Apache Tomcat」サービスを探す
- 右クリックして「再起動」を選択
コマンドプロンプトから再起動する方法
管理者権限でコマンドプロンプトを開き、以下を実行:
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を連携している場合、
再起動の順番は非常に重要です。
推奨される再起動順序
- Tomcatを停止・再起動
- 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 tomcat | Tomcatを再起動 | systemd |
| systemctl stop tomcat | Tomcatを停止 | systemd |
| systemctl start tomcat | Tomcatを起動 | systemd |
| systemctl status tomcat | ステータス確認 | systemd |
| service tomcat restart | Tomcatを再起動 | SysVinit |
| ./bin/catalina.sh restart | Tomcatを再起動 | 全Linux |
Windowsコマンド一覧
| コマンド | 説明 |
|---|---|
| net stop tomcat | Tomcatを停止 |
| net start tomcat | Tomcatを起動 |
| Restart-Service Tomcat9 | PowerShellで再起動 |
| 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が起動しない場合
- ログを確認
sudo journalctl -u tomcat -n 50 tail -f /var/log/tomcat/catalina.out - Java環境を確認
java -version echo $JAVA_HOME - 権限を確認
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
再起動後に確認すべきポイントは?
- サービスステータス:
systemctl status tomcat - ポート確認: ポート8080へのアクセス確認
- ログチェック: catalina.outにエラーがないか確認
- 動作確認: ブラウザで http://localhost:8080 にアクセス
Tomcatが起動しない場合の確認手順は?
以下の順序で確認してください:
- ログファイルでエラーメッセージを確認
- JAVA_HOME環境変数が正しく設定されているか確認
- ポート8080が他のプロセスで使用されていないか確認
- Tomcatユーザーの権限が正しいか確認
- 十分なメモリが確保されているか確認
catalina.sh と systemctl の違いは何ですか?
catalina.shはTomcat付属のスクリプトで、どの環境でも使用できます。systemctlはシステムレベルでのサービス管理で、自動起動設定やログ管理が統合されています。本番環境ではsystemctlの使用を推奨します。
再起動時にダウンタイムを最小化する方法は?
- ロードバランサーを使用したローリング再起動
- 複数のTomcatインスタンスを用意
- メンテナンスウィンドウの設定
- graceful shutdownの設定





