ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|---|
|
Tomcat の起動・停止スクリプト
Tomcat の bin/ フォルダに以下のスクリプトがあります:
| スクリプト | 役割 |
|---|---|
startup.sh / .bat | バックグラウンドで起動 |
shutdown.sh / .bat | 停止 |
catalina.sh / .bat run | フォアグラウンド起動(ログが端末に出る) |
catalina.sh / .bat start | バックグラウンド起動(startup.sh と同等) |
catalina.sh / .bat stop | 停止 |
catalina.sh / .bat configtest | 設定ファイル検証 |
version.sh / .bat | バージョン情報表示 |
Linux / Mac での起動
# 環境変数設定
$ export CATALINA_HOME=/opt/tomcat
$ export JAVA_HOME=/usr/lib/jvm/java-17
# 起動 (バックグラウンド)
$ $CATALINA_HOME/bin/startup.sh
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /usr/lib/jvm/java-17
Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Tomcat started.
# 起動確認
$ curl -I http://localhost:8080/
# 停止
$ $CATALINA_HOME/bin/shutdown.sh
# フォアグラウンド起動(Ctrl+C で停止)
$ $CATALINA_HOME/bin/catalina.sh run
Windows での起動
REM 環境変数設定 (永続化したい場合)
> setx CATALINA_HOME "C:\apache-tomcat-9.0.71"
> setx JAVA_HOME "C:\Program Files\Eclipse Adoptium\jdk-17"
REM 起動 (新しいコンソールウィンドウが開く)
> %CATALINA_HOME%\bin\startup.bat
REM 停止
> %CATALINA_HOME%\bin\shutdown.bat
REM フォアグラウンド (現在のウィンドウでログ表示)
> %CATALINA_HOME%\bin\catalina.bat run
Windows サービスとして起動
REM サービスインストール (管理者権限のコマンドプロンプト)
> %CATALINA_HOME%\bin\service.bat install Tomcat9
REM サービス開始
> sc start Tomcat9
REM または
> net start Tomcat9
REM 停止
> sc stop Tomcat9
> net stop Tomcat9
REM サービス削除
> %CATALINA_HOME%\bin\service.bat remove Tomcat9
systemd サービス(Linux 推奨)
サービスファイル作成
# /etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/lib/jvm/java-17"
Environment="CATALINA_PID=/opt/tomcat/tomcat.pid"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_OPTS=-Xms1g -Xmx2g -server -XX:+UseG1GC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
RestartSec=10
Restart=on-failure
[Install]
WantedBy=multi-user.target
# 有効化
$ sudo systemctl daemon-reload
$ sudo systemctl enable tomcat
$ sudo systemctl start tomcat
# 状態確認
$ sudo systemctl status tomcat
● tomcat.service - Apache Tomcat Web Application Container
Loaded: loaded (/etc/systemd/system/tomcat.service; enabled)
Active: active (running) since ...
# ログ確認
$ sudo journalctl -u tomcat -f
# 停止 / 再起動
$ sudo systemctl stop tomcat
$ sudo systemctl restart tomcat
JVM オプションのカスタマイズ
bin/setenv.sh(または setenv.bat)を新規作成して以下を記述:
#!/bin/sh
# bin/setenv.sh
export CATALINA_OPTS="-server \
-Xms1g -Xmx4g \
-XX:MetaspaceSize=128m \
-XX:MaxMetaspaceSize=512m \
-XX:+UseG1GC \
-XX:+HeapDumpOnOutOfMemoryError \
-XX:HeapDumpPath=/var/log/tomcat-heapdump.hprof \
-Djava.net.preferIPv4Stack=true \
-Dfile.encoding=UTF-8"
export JAVA_OPTS="$JAVA_OPTS -Duser.timezone=Asia/Tokyo"
ポート変更
デフォルトの 8080 を変更したい場合は conf/server.xml:
<!-- conf/server.xml -->
<Connector port="9090" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
起動しないときのチェックリスト
- 環境変数:
JAVA_HOME/CATALINA_HOME確認 - ポート競合: 別プロセスが 8080 を使用していないか
- ログ確認:
logs/catalina.out/catalina.YYYY-MM-DD.log - ファイル権限: tomcat ユーザがログ・work ディレクトリに書き込めるか
- conf/server.xml の構文: XML パースエラーがないか
- webapps 内に壊れた WAR がないか: 展開失敗で起動が止まる
- メモリ:
-Xmxが大きすぎて OS にメモリがないと起動失敗
関連記事
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
- 起動方法
- 仮想環境の作成
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- 【django】ログイン 認証機能 2026-09-08 03:22:09
- MySQL ERROR 1063 Incorrect column specifier for column|原因と直し方 2026-09-08 03:11:09
- 【PHPエラー】Object of class stdClass could not be converted to string 2026-09-07 07:46:04
- Julia Genie ローカル開発サーバ起動完全ガイド 2026-09-07 07:46:04
- Wi-Fi とは|規格と世代(Wi-Fi 4〜7)・周波数帯・CSMA/CA・WPA3 NEW 2026-09-07 07:45:13
- set コマンドでシェルオプションと位置パラメータを操作 | bash 2026-09-07 07:45:13
- JPEG(.jpg/.jpeg)画像形式の完全ガイド — 仕様・マジックナンバー・他形式との比較・EXIF 2026-09-07 07:45:13
- UE5 Get Overlapping Actorsで特定クラスだけ処理|Class Filter・Cast To 2026-09-07 07:45:13
- Linuxで特定拡張子のファイルを再帰削除|find -deleteの安全手順 2026-09-07 07:45:13
- Django CBVでテンプレートに値を渡す|get_context_data・extra_context 2026-09-07 07:45:13
- Linuxで複数ファイルの文字列を一括置換|find・sed・xargsの安全手順 2026-09-07 07:45:13
- Laravelルートグループ|prefix・middleware・nameで一括管理 2026-09-07 07:45:13
- Linux whichコマンドの使い方|絶対パス取得とtype・command -vの違い 2026-09-07 07:45:13
- Linux catコマンドの使い方|行番号表示・複数ファイル連結 2026-09-07 07:45:13
- unable to execute 'gcc': No such file or directory 2026-09-07 07:45:13
コメントを削除してもよろしいでしょうか?